Différence clé - Héritage multiple vs multiniveau
La programmation orientée objet (POO) est un paradigme pour concevoir un programme en utilisant des classes et des méthodes. Les scénarios du monde réel peuvent être mappés sur des objets. Par conséquent, il est facile de créer des solutions logicielles. Une classe est un plan pour construire un objet. Il contient des propriétés et des méthodes. Par exemple, avant de créer un objet étudiant, il doit y avoir une classe étudiant avec des propriétés et des méthodes. Un étudiant peut avoir des propriétés telles que l'identifiant de l'étudiant, son nom et des méthodes telles que lire, écrire, étudier. Les méthodes décrivent le comportement tandis que les propriétés sont les attributs. Après avoir créé la classe, il est possible de créer des objets en les utilisant. La création d'objet est également connue sous le nom d'instanciation d'objet. L'objet n'existe pas isolément. Ils communiquent avec d'autres objets et les données sont transmises à l'intérieur des objets. L'un des piliers de la POO est l'héritage. Le but de l'héritage est d'augmenter la réutilisabilité du code. Il crée une nouvelle classe de propriétés et de méthodes de la classe déjà existante. La classe existante est appelée classe de base et la nouvelle classe est appelée classe dérivée. L'héritage multiple et l'héritage à plusieurs niveaux sont des types d'héritage. Cet article explique la différence entre eux. La principale différence entre l'héritage multiple et l'héritage à plusieurs niveaux est que l'héritage multiple se produit lorsqu'une classe hérite de plusieurs classes de base, tandis que l'héritage à plusieurs niveaux se produit lorsqu'une classe hérite d'une classe dérivée, faisant de cette classe dérivée une classe de base pour une nouvelle classe.
Qu'est-ce que l'héritage multiple ?
L'héritage multiple se produit lorsqu'une classe hérite de plusieurs classes de base.
Figure 01: Héritage multiple
A B et C sont des classes. A et B sont les classes de base et C est la classe dérivée. La classe C doit gérer la dépendance des deux classes de base A et B. Les héritages multiples ne sont pas largement utilisés dans les projets logiciels. Cela rend le système plus complexe car une classe hérite de plusieurs classes.
Par exemple, supposons que les classes A et B ont toutes les deux une méthode avec le même nom qui est la somme() et que la classe C dérive les deux classes. Après avoir créé un objet de type C et appelé la méthode sum (), cela peut provoquer une erreur car les deux classes ont la même méthode. Le compilateur ne sait pas quelle fonction appeler. Par conséquent, l'héritage multiple augmente la complexité d'un système. L'héritage multiple est pris en charge dans le langage C++, mais des langages tels que Java, C ne prennent pas en charge l'héritage multiple. Au lieu de cela, ces langages utilisent une interface similaire à une classe mais qui ne peut pas être instanciée.
Qu'est-ce que l'héritage multiniveau ?
L'héritage à plusieurs niveaux se produit lorsqu'une classe hérite d'une classe dérivée, faisant de cette classe dérivée une classe de base pour une nouvelle classe.
Figure 02: Héritage à plusieurs niveaux
L'héritage multiniveau a trois niveaux. La classe intermédiaire que B hérite de la classe A et la classe C hérite de la classe B. A est la classe de base pour B et B est la classe de base pour C.
Un programme qui implémente l'héritage multiniveau est le suivant. Le programme est écrit en Java.
Figure 03: Programme qui implémente l'héritage multiniveau
Selon le programme ci-dessus, la classe A est la classe de base de la classe B. La classe B est la classe de base de la classe C. Toutes les propriétés et méthodes de la classe A sont accessibles par la classe B. Toutes les propriétés et méthodes de la classe B est accessible par la classe C. Par conséquent, la classe C peut accéder aux propriétés et aux méthodes de A et de B. Lors de la création d'un objet de type C, il est possible d'appeler les trois méthodes A (), B () et C (). La sortie donnera A, B, C.
Quelle est la similitude entre l'héritage à plusieurs niveaux et à plusieurs niveaux ?
Les deux sont des types d'héritage
Quelle est la différence entre l'héritage à plusieurs niveaux et à plusieurs niveaux ?
Héritage multiple vs héritage à plusieurs niveaux |
|
L'héritage multiple est un type d'héritage dans lequel une classe hérite de plusieurs classes de base. | L'héritage multiniveau est un type d'héritage qui hérite d'une classe dérivée, faisant de cette classe dérivée une classe de base pour une nouvelle classe. |
Utilisation | |
L'héritage multiple n'est pas largement utilisé car il rend le système plus complexe. | L'héritage multiniveau est largement utilisé. |
Niveaux de classe | |
L'héritage multiple a deux niveaux de classe, à savoir la classe de base et la classe dérivée. | L'héritage à plusieurs niveaux a trois niveaux de classe, à savoir la classe de base, la classe intermédiaire et la classe dérivée. |
Résumé - Héritage multiple vs multiniveau
L'héritage est un pilier majeur de la programmation orientée objet. Il existe différents types d'héritage; ce sont l'héritage à un niveau, l'héritage à plusieurs niveaux, l'héritage multiple, l'héritage hiérarchique et l'héritage hybride. L'héritage à un seul niveau a une classe de base et une classe dérivée. L'héritage hiérarchique a une classe de base et de nombreuses classes dérivées. L'héritage hybride est une combinaison d'héritage multiniveau et multiple. Cet article décrit la différence entre l'héritage multiple et l'héritage à plusieurs niveaux. La différence entre les héritages multiples et à plusieurs niveaux est que l'héritage multiple se produit lorsqu'une classe hérite de plusieurs classes de base, tandis que l'héritage à plusieurs niveaux se produit lorsqu'une classe hérite d'une classe dérivée, faisant de cette classe dérivée une classe de base pour une nouvelle classe.. L'héritage à plusieurs niveaux est largement utilisé par rapport à l'héritage multiple.
Télécharger le PDF Multiple vs Multilevel Héritage
Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne conformément à la note de citation. Veuillez télécharger la version PDF ici Différence entre l'héritage à plusieurs niveaux et à plusieurs niveaux