Différence entre généralisation, héritage et spécialisation

Quelle est la différence entre généralisation, héritage et spécialisation ? – Des termes tels que super-classe, sub-classe ou héritage apparaissent quand on pense à l’approche orientée objet. Ces concepts sont très importants dans les langages de programmation orientés objet tels que Java ou C ++.
 
 

Illustration en UML
Différence entre généralisation, héritage et spécialisation
QCM-JavaQCM Java – Programmation Orientée ObjetQCM sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses…Lire plus (On spécialise)
Véhicule   ——–>   Voiture
Véhicule   ——–>   Camion

(On généralise)
Voiture   ——–>   Véhicule
Camion  ——–>   Véhicule

La relation de généralisation/spécialisation est implémentée dans des langages de programmation orientés objet avec héritage.

Voici quelques formes de généralisation en POO:

Polymorphisme: Fait référence à la capacité d’un langage de programmation à traiter les objets différemment selon leur type de données ou leur classe. Plus précisément, il s’agit de la possibilité de redéfinir les méthodes pour les classes dérivées.

Généricité: Permet au programmeur de créer des classes, des interfaces et des méthodes dans lesquelles le type de données est spécifié en tant que paramètre. Il permet d’écrire un algorithme indépendant de tout type de données spécifique. Il est devenu possible de créer une seule classe, une interface ou une méthode qui fonctionne automatiquement avec tous les types de données (Integer, String, Float, etc.). Il a augmenté la capacité de réutiliser le code facilement.

Patterns: Un pattern exprime une solution générale à un problème de conception commun. Les attributs et le comportement des composants individuels ne sont que partiellement définis pour permettre l’interprétation et l’application du modèle à un large éventail de situations.
Différence entre Héritage et CompositionDifférence entre Héritage et CompositionBien que l’héritage et la composition permettent la réutilisation du code, la principale différence entre la composition et l’héritage réside dans le fait que la…Lire plus

Conclusion:

La généralisation est le terme que nous utilisons pour désigner l’abstraction des propriétés communes dans une classe de base en UML. Lorsque nous implémentons la généralisation dans un langage de programmation, cela s’appelle l’héritage. Donc, la généralisation et l’héritage sont pareils, la terminologie diffère juste selon le contexte d’utilisation.
 
 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *