Types d'héritage en Java : unique, multiple, multiniveau et hybride

Publié: 2021-06-30

introduction

Le langage de programmation "Java" est largement utilisé dans le développement d'applications mobiles, Web, de bureau, etc. Il s'agit d'un langage de programmation robuste, de haut niveau et orienté objet développé par Sun Microsystems en 1995. Bien qu'il s'agisse d'un langage de programmation , Java possède une API et un environnement d'exécution (JRE) et, par conséquent, également appelé plate-forme.

Plusieurs concepts existent en Java, avec quatre concepts principaux pour maîtriser le langage. Ce sont l'abstraction, l'encapsulation, l'héritage et le polymorphisme.

Dans cet article, nous nous concentrerons sur le concept d' héritage en Java et les types d'héritage en java .

Qu'est-ce que l'héritage ?

Comme son nom l'indique, l'héritage signifie hériter des propriétés. Le mécanisme par lequel une classe est autorisée à dériver les propriétés d'une classe différente est appelé héritage. Avec le concept d'héritage, les informations d'un programme peuvent être organisées de manière hiérarchique.

En Java, le concept d'héritage permet aux utilisateurs de créer des classes et d'utiliser les propriétés des classes existantes.

Voici quelques terminologies importantes associées au concept :

  • Classe : Elle est définie comme un groupe d'objets partageant des propriétés communes.
  • Sous-classe : également appelée classe dérivée ou étendue, cette classe hérite des fonctionnalités d'une autre classe. En plus des champs et méthodes hérités, la classe générée à partir de la classe peut ajouter ses propres champs et méthodes.
  • Super Classe : La super classe représente la classe dont les caractéristiques sont héritées par une sous-classe.
  • Réutilisabilité : La technique de réutilisabilité permet à l'utilisateur de créer une classe (une nouvelle) ayant les champs ou méthodes d'une classe déjà existante. Cela permet de réutiliser le code.

Importance de l'héritage Java

L' implémentation de l' héritage en Java offre les avantages suivants :

  • L'héritage minimise la complexité d'un code en minimisant le code en double. Si le même code doit être utilisé par une autre classe, il peut simplement être hérité de cette classe vers sa sous-classe. Par conséquent, le code est mieux organisé.
  • L'efficacité d'exécution d'un code augmente à mesure que le code est organisé sous une forme plus simple.
  • Le concept de polymorphisme peut être utilisé avec l'héritage.

Syntaxe

La syntaxe de base est

Superclasse de classe {

—————-

}

la sous-classe de classe étend la superclasse

{

————–

—————–

}

Le mot clé "extends" est utilisé lors de l'héritage d'une classe. Il définit que la fonctionnalité de la superclasse est étendue à la sous-classe.

La nouvelle classe créée est appelée une sous-classe tandis que la classe héritée est appelée une classe parente.

Figure 1 : Un exemple de code appliquant l'héritage Java est présenté ci-dessous

La source

Deux classes Calculation et My_Calculation sont créées dans l'exemple ci-dessus. Les méthodes addition() et Subtraction() sont héritées du calcul de classe dans My_Calculation. Le mot clé extend a été utilisé pour hériter des méthodes.

La compilation et l'exécution du code ci-dessus donnent le résultat suivant.

Figure 2 : La sortie du code de la figure 1

La source

La création de la classe My_Calculation copie le contenu de la superclasse dans la sous-classe. Avec les objets de la sous-classe, les utilisateurs peuvent accéder au membre de la sous-classe.

Dans certains cas où l'on doit différencier les membres de la sous-classe de celui de la super-classe ayant les mêmes noms, le mot-clé « super » est utilisé. Si soi-disant nous avons deux classes Sub_class et Super_class ayant la même méthode, c'est-à-dire display(). L'implémentation de la méthode est différente mais porte le même nom. Dans un tel cas, pour différencier la superclasse de la méthode de celle de la sous-classe, il faut utiliser le mot-clé super.

Types d'héritage Java

Les différents types d'héritage sont observés en Java :

1. Héritage à un seul niveau

Comme son nom l'indique, ce type d'héritage ne se produit que pour une seule classe. Une seule classe est dérivée de la classe parent. L'organigramme d'un héritage unique est illustré ci-dessous :

Figure 3 : Illustration graphique de l'héritage à un seul niveau

La source

Deux classes, la classe A et la classe B, sont illustrées à la figure 3 , où la classe B hérite des propriétés de la classe A.

Figure 4 : Exemple de code appliquant l'héritage à un seul niveau

La source

2. Héritage à plusieurs niveaux

L'héritage à plusieurs niveaux comprend l'implication d'au moins deux ou plus de deux classes. Une classe hérite des fonctionnalités d'une classe parente et la sous-classe nouvellement créée devient la classe de base d'une autre nouvelle classe.

Figure 5 : Un organigramme de l'héritage à plusieurs niveaux

La source

À partir de l'organigramme de la figure 5 , nous pouvons observer que la classe B est une classe dérivée de la classe A, et que la classe C est en outre dérivée de la classe B. Par conséquent, le concept de classe grand-parent apparaît dans l'héritage à plusieurs niveaux. Cependant, les membres de la classe d'un grand-parent ne sont pas directement accessibles en Java.

Par conséquent, la figure 5 montre que la classe C hérite des méthodes et des propriétés de la classe A et de la classe B.

Un exemple d'héritage à plusieurs niveaux est présenté ci-dessous avec trois classes X, Y et Z. La classe Y est dérivée de la classe X qui crée en outre la classe Z.

Figure 6 : Un exemple d'héritage multi-niveaux

La source

3. Héritage hiérarchique

Le type d'héritage où de nombreuses sous-classes héritent d'une seule classe est connu sous le nom d'héritage hiérarchique.

Figure 7 : Représentation graphique d'un héritage hiérarchique.

Dans la figure 7 , nous pouvons observer que les trois classes Classe B, Classe C et Classe D sont héritées de la seule Classe A. Toutes les classes enfants ont la même classe parente en héritage hiérarchique.

Figure 8 : Exemple de code illustrant le concept d'héritage hiérarchique

La source

Le code ci-dessus produit la sortie

miauler…

en mangeant…

Outre ces types d'héritage en Java , il existe d'autres types appelés héritages multiples et héritage hybride. Les deux types ne sont pas pris en charge par les classes et ne peuvent être obtenus qu'à l'aide d'interfaces.

4. Héritage multiple

Les héritages multiples sont un type d'héritage dans lequel une sous-classe peut hériter des fonctionnalités de plusieurs classes parentes.

Figure 9 : Représentation des héritages multiples

La source

La figure 4 montre que la classe C est dérivée des deux classes Classe A et Classe B. En d'autres termes, on peut décrire que la sous-classe C hérite des propriétés des classes A et B.

5. Héritage hybride

L'héritage hybride est un type d'héritage qui combine l'héritage unique et les héritages multiples. Comme les héritages multiples ne sont pas pris en charge par Java, l'héritage hybride peut également être réalisé via des interfaces uniquement.

Figure 10 : Représentation d'un héritage hybride

La source

Avec les différents types d'héritage en Java, le but ultime est de créer des sous-classes ayant des propriétés héritées des superclasses. Les sous-classes créées ont différentes propriétés qui sont :

  • Les champs et méthodes hérités dans une sous-classe peuvent être directement utilisés.
  • De nouveaux champs et méthodes peuvent également être déclarés dans la sous-classe qui n'est pas présente dans la superclasse.
  • Une nouvelle méthode d'instance peut être créée dans la sous-classe ayant la même signature que la méthode dans la superclasse. Le processus est appelé dépassement.
  • Une nouvelle méthode statique peut être créée dans la sous-classe ayant la même signature que la méthode dans la superclasse. Le processus est appelé masquage.

Apprenez des cours de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

L'article aborde le concept important d'héritage en Java et les types d'héritage en Java . L'héritage est donc le mécanisme par lequel on peut réutiliser les codes afin d'acquérir les propriétés d'une classe dans une autre classe. Ceci peut être réalisé grâce aux différents types de modèles d'héritage, comme indiqué dans l'article. Cependant, il y a beaucoup plus dans le concept d'héritage. Pour exceller dans le domaine du développement, la maîtrise de la programmation complexe de Java est requise. Si vous rêvez d'innover en matière d'appareils intelligents, le programme Executive PG en développement de logiciels à pile complète proposé par upGrad serait le meilleur choix. Certifié par l' Université John Moores de Liverpool , le cours en association avec IIIT Bangalore offre plus de 500 heures d'apprentissage et est conçu pour les jeunes professionnels. Les compétences acquises grâce au cours upGrad aideront à ouvrir des opportunités dans le domaine du développement de logiciels, du développement Web, du développeur javascript, etc. Ouvert à tout sexe dans la tranche d'âge des 21 à 45 ans, le programme interactif pourrait être le meilleur choix pour tous les codeurs.

Qu'est-ce que l'héritage ?

L'héritage est un processus par lequel un nouvel objet acquiert les propriétés de l'objet précédent. A titre d'exemple, vous pouvez considérer une classe 'humain'. Il peut y avoir de nombreuses propriétés humaines que vous souhaitez inclure dans votre classe, telles que la taille, le poids, etc. Ainsi, une façon de procéder consiste à définir à nouveau toutes ces propriétés dans votre classe. Cela peut être un bon moyen d'apprendre la programmation orientée objet mais pas une bonne pratique. La meilleure façon de le faire est d'hériter de toutes ces propriétés d'une classe particulière. La classe 'enfant' peut hériter de toutes les propriétés de la classe 'humain' (ou 'parent'). C'est ce qu'on appelle l'héritage dans la programmation orientée objet.

Qu'est-ce que la programmation orientée objet ?

Qu'est-ce que l'héritage multiple ?