Programmation des caractéristiques de l'héritage, des types, des exemples

Programmation des caractéristiques de l'héritage, des types, des exemples

La héritage de programmation orienté objet C'est une façon d'organiser des objets dans une hiérarchie du plus général au plus spécifique. C'est le gadget utilisé pour étendre une classe dans une autre classe, conservant une exécution analogue.

Dans la plupart des langues orientées vers les classes basées sur des objets basés sur la classe, un objet créé par l'héritage, appelé l'objet enfant, obtient toutes les propriétés et les comportements de l'objet parent.

Démonstration simple de l'héritage dans l'orientation des objets. Source: Pluke / CC0 Creative Commons CC0 1.0 Domaine public universel

Par conséquent, c'est une qualité qui représente la relation entre différentes classes. L'héritage permet à une classe d'avoir le même comportement qu'une autre classe et de développer ou d'adapter ce comportement pour fournir une action spéciale pour des besoins spécifiques.

L'héritage peut aider à représenter des objets qui ont des différences et des similitudes dans leur fonctionnement. Toutes les fonctionnalités que les objets ont en commun peuvent être placées dans une classe de base, puis définir une ou plusieurs sous-classes avec leur propre fonctionnalité personnalisée.

[TOC]

Caractéristiques de l'héritage

L'héritage est l'une des caractéristiques clés de la programmation orientée objet, qui sert à définir une nouvelle classe à partir de classes existantes.

C'est-à-dire que de nouvelles classes des classes de base existantes peuvent être dérivées, ajoutant de nouvelles fonctionnalités. Tu n'as pas à écrire à partir de zéro. Par conséquent, l'héritage fournit un moyen de réutiliser facilement le code existant.

Si vous avez déjà une classe qui fait presque tout ce que vous voulez, vous pouvez créer une sous-classe dans laquelle une partie de votre comportement est partiellement annulée, ou peut-être que de nouvelles fonctionnalités sont ajoutées.

Une classe dérivée hérite de toutes les méthodes de la classe de base, sauf ce qui suit:

Peut vous servir: Ordinateurs analogiques: caractéristiques, composants, types

- Constructeurs, destroyers et copie-constructeurs de classe.

- Opérateurs surchargés de classe de base.

- Fonctions amicales de la classe de base.

Hiérarchie

Comme le fait un arbre généalogique, l'héritage sert à former une hiérarchie de classes. Il est important de noter que les attributs déterminés pour une classe de base seront automatiquement présents dans la classe dérivée. De plus, les méthodes de classe de base fonctionneront pour les dérivés.

On dit qu'une classe sera sous-classe de la classe dont héritera. D'un autre côté, cette classe sera votre superclasse. Il peut se référer à la classe la plus générique en tant que classe de base, car elle est à la base de la hiérarchie.

Polymorphisme

L'héritage est très populaire dans certaines langues avec des types statiques, car il permet au programmeur d'éviter certaines des restrictions de type statique.

Un objet qui hérite d'un autre objet est considéré comme un sous-type de cet objet. Un exemple pourrait être les objets "instructeurs" et "étudiants", qui héritent de la "personne".

Si l'instructeur et l'étudiant sont la même personne, vous pouvez écrire une fonction qui accepte le type de personne en tant que paramètre et qui fonctionne dans l'instructeur et les objets étudiants, car les deux sont des héritiers de la personne.

Types d'héritage

Héritage unique

Lorsqu'une classe dérivée hérite des propriétés et du comportement d'une seule classe. C'est-à-dire qu'une classe s'étend à une autre classe unique.

Héritage à plusieurs niveaux

Il se réfère au gadget où vous pouvez hériter d'une classe dérivée, faisant de cette classe dérivée la classe de base pour une nouvelle classe. C'est-à-dire qu'il se traduit qu'une classe dérivée est créée à partir d'une autre classe dérivée.

Peut vous servir: Von Neumann Architecture: origine, modèle, comment ça marche

Héritage hiérarchique

Dans cet héritage, de nombreuses sous-classes héritent d'une seule classe. Autrement dit, cela se produit lorsqu'une classe de base unique est héritée de plus d'une classe dérivée.

Patrimoine hybride

C'est l'héritage qui en résulte lorsque l'un des trois héritages précédents (unique, hiérarchique et à plusieurs niveaux) est combiné).

Héritage multiple

Correspond à la figure d'héritage lorsqu'une classe hérite de plus d'une superclasse. L'inconvénient existant avec ce type d'héritage est que la classe dérivée devra traiter la dépendance qu'il a avec deux classes de base.

D'un autre côté, ce type d'héritage permet aux programmeurs d'ériger des classes qui combinent des aspects de plusieurs classes et de leurs hiérarchies correspondantes.

Types d'héritage d'une classe de base

Héritage public

Lorsqu'une classe est dérivée d'une classe de base publique, les membres publics de la classe de base deviennent des membres publics de la classe dérivée et les membres protégés de la classe de base deviennent des membres protégés de la classe dérivée.

Les membres privés d'une superclasse ne seront jamais abordables directement à partir d'une classe dérivée, mais vous pouvez y avoir accès par des appels passés aux membres publics et protégés de la classe de base.

Héritage protégé

Lorsqu'une classe est créée qui hérite d'une superclasse protégée, les deux membres publics et protégés de cette superclasse deviendront des membres protégés de la classe dérivée.

Héritage privé

Lorsqu'une sous-classe est créée à partir d'une superclasse privée, les membres qui sont publics et protégés de cette superclasse deviendront membres privés de la sous-classe.

Exemples

Exemple dans Python

Pour montrer comment fonctionne le principe de succession, des robots ou une meilleure classe de robots seront pris en langage de programmation Python. Pour cela, une classe appelée RobotMedic sera spécifiée (Médecin), qui est dérivé de la superclasse robot.

Peut vous servir: plantes industrielles du Pérou

Si le code de classe robotmed est observé, on peut voir qu'aucun attribut ou méthode n'a été défini dans cette classe.

Comme la classe robotique est une sous-classe de robot, hériter de la méthode __init__ et say_hi dans ce cas. Hériter de ces méthodes signifie qu'ils peuvent être utilisés comme s'ils avaient été définis dans la classe robotmed.

Lorsqu'une instance robotique est créée, la fonction __init__ créera également un attribut de nom. La méthode Say_Hi peut être appliquée à l'objet robotmedic «y», comme on peut le voir dans le résultat du code précédent.

Exemple en c++

Une classe peut hériter de plus d'une classe, ce qui signifie qu'elle peut hériter des données et des fonctions de plusieurs superclasses. Pour définir une classe dérivée, une liste de dérivation de classe est utilisée pour spécifier les classes de base.

Une liste de référence de classe en C ++ nomme une ou plusieurs classes de base et a la manière suivante: Classe Classe de race: Access-usecificateur Classe de base, dans laquelle Access-usecificateur est public, Protégé soit Privé, et Classe de base C'est le nom d'une classe précédemment définie. Si ce n'est pas utilisé Access-usecificateur, se prend Privé par défaut.

La superclasse «formulaire» et sa classe dérivée «rectangle» peuvent être considérées comme suit:

Lorsque le code précédent est compilé et exécuté, le résultat suivant se produit: "Zone totale: 35".

Les références

  1. Dave Braunschweig (2020). Héritage et polymorphisme. Communauté abus. Pris de: presser.Un autobus.Communauté.
  2. Python Course (2020). Héritage. Tiré de: Python-Course.UE.
  3. Data Mentor (2020). R héritage. Tiré de: Datamentor.Io.
  4. Point de tutoriels (2020). Héritage C ++. Tiré de: TutorialSpoint.com.
  5. Informations nettes (2020). Différents types d'héritage. Tiré de: Informations nettes.com.