Questions sur POO

ikram chouchen Messages postés 1 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
- Quelle est la motivation derrière l'apparition de l'orienté objet ?
- Quelles sont les différences les plus remarquable entre le concepts de l'héritage en java et en c++
A voir également:
  • Questions sur POO
  • Happy poo - Télécharger - Arcade

1 réponse

walidovich_85 Messages postés 698 Statut Membre 73
 
Bonjour,

La POO décrit avec plus précision le monde réel car elle se repose sur le fait que les objets ont des caractéristiques et des comportements. Alors, la partie conception des données devienne plus claire. avec le temps, les langages ont commencé de basculer vers l'OO, et les développeurs ont remarqué qu'il y'a 3 ou 4 principes commun entre ces langages (qui définissent un langage comme OO):
- Héritage;
- Polymorphisme;
- Encapsulation;
- et l'Abstraction.

Le langages OO sont plus maintenables, réutilisables, facilement concevables...

Pour la différence entre Java et C++ concernant l'héritage ( je suis nul en c++), c que ce dernier permet l'héritage multiple cependant que Java ne le permet pas.

Bonne chance

NB:Java vous permet d'implémenter plusieurs interface.
0
KX Messages postés 19031 Statut Modérateur 3 020
 
"Java vous permet d'implémenter plusieurs interface"
Ce qui est déjà considéré comme de l'héritage multiple, mais il faudrait distinguer différents types d'héritages pour être vraiment précis.

Java autorise l'héritage multiple d'interfaces (ce que ne permet pas C++ vu qu'il n'y a pas d'interfaces) alors que C++ autorise l'héritage multiple de classes que ne permet pas Java.
À noter que Java 8 sort la semaine prochaine et permettra d'aller un peu plus loin avec de l'héritage multiple de code, puisqu'il sera désormais possible de mettre du code dans les interfaces...

Mais pour moi la grosse différence entre C++ et Java c'est que si Java est un langage objet, C++ lui est un langage impératif avec une couche objet. Mais on peut faire du C++ sans faire de classes, ou alors en les utilisant comme des librairies, mais sans imposer une véritable architecture objet, alors qu'en Java tout est objet (ou presque...).
0