Maison  >  Article  >  Java  >  Héritage hybride en Java

Héritage hybride en Java

王林
王林original
2024-08-30 15:26:241075parcourir

L'héritage est une propriété du langage JAVA où les fonctions et les membres d'une classe peuvent être hérités et utilisés par d'autres classes. Cela contribue à faire progresser l’utilisation d’un code propre et sa réutilisabilité. JAVA propose différents types d'héritage mais plusieurs héritages. Pour pallier cette lacune, JAVA utilise l'héritage hybride à l'aide d'interfaces. L'héritage hybride est une combinaison de différents types d'héritages (en particulier l'héritage simple et multiniveau).

Commencez votre cours de développement de logiciels libres

Développement Web, langages de programmation, tests de logiciels et autres

Comment fonctionne l'héritage hybride en Java ?

Par exemple, il existe différentes classes nommées « A », « B », « C » et « D ». Supposons que les classes « A » et « B » étendent la classe « C ». En outre, une autre classe, « D », étend la classe « A ». Ici, la classe « A » est une classe parent pour la classe enfant « D » et est également une classe enfant pour la classe parent « C ».  Cela peut être démontré via un schéma ci-dessous :

Héritage hybride en Java

La syntaxe de l'héritage hybride n'est pas différente de l'héritage normal. La seule chose supplémentaire à noter ici est que plusieurs héritages sont implémentés dans le même programme pour obtenir le résultat. Cette fonctionnalité est d'avoir l'avantage d'ajouter des fonctionnalités en plus de celles existantes et ainsi de réduire le travail des codeurs pour écrire du code à partir de zéro.

Exemple d'héritage hybride en Java

Explication : L'extrait de code ci-dessous démontre le fonctionnement de l'héritage hybride en JAVA. Dans le code ci-dessous, quatre classes sont déclarées avec le nom de fonction display(). La fonction Display() renvoie void mais appelle en interne la fonction println() pour imprimer la chaîne dans l'écran de sortie. La fonction Println() est une fonction standard de JAVA utilisant une bibliothèque d'entrée-sortie Java pour imprimer une chaîne dans l'écran de sortie. Il prend une chaîne comme paramètre capturé sous des points-virgules.

La classe principale ici est test4. La classe principale est celle dans laquelle la fonction principale est déclarée. Ici, la classe principale est déclarée comme :

public static void main(String args[])

Cette fonction principale prend une chaîne comme paramètre d'entrée et renvoie void. Cette fonction est publique par défaut et est la première fonction appelée lors de l'exécution du programme. La fonction principale a un objet de la classe principale « test4 » créé. L'objet de la classe test4 est « objet ». Cet objet appelle un affichage de fonction. La chaîne dans la fonction d'affichage de test4 est donc imprimée.

Ici, ce qu'il faut remarquer est que la classe test4 hérite de la propriété de la classe test1. Test1, à son tour, hérite de la propriété de test3. Test 2 et hérite également de la propriété du test3. Il existe donc deux classes héritant du test 3, qui sont : test 1 et test2. Nous pouvons donc voir ici différents types d'héritage comme un héritage unique et hiérarchique.  Le cas ci-dessus est un exemple d'héritage hiérarchique et unique.

Les classes test1 et test2 étendent la classe test3 → Héritage hiérarchique

La classe test4 étend la classe test1 → Héritage unique

Le code ci-dessous peut être utilisé pour comprendre le fonctionnement.

Code :

//Class test3 which works as a parent class for other two child classes.
class test3
{
// this function is used to class print function. This function name is used in other class as well but with other string in it. This feature in JAVA is called as function overloading.
public void display()
{
System.out.println("the program control is in class test3");
//JAVA standard function to print the string in the output screen.
}
}
//Here test1 class in extending test3’s function. This is hierarchal inheritance.
class test1 extends test3
{
//JAVA function overloading. Same function name is used again in the other class.
public void display()
{
System.out.println("the program control is in class test1");
}
}
//Here test2 class in extending test3’s function. This is hierarchal inheritance.
class test2 extends test3
{
public void display()
{
System.out.println("the program control is in class test2");
}
}
//This is the main class which is extending test1. Such inheritance is called a single inheritance.
class Main extends test1
{
public void display()
{
System.out.println("The program control is in class test4 and It is an example \n to demonstrate the working of hybrid inheritance in JAVA.");
}
public static void main(String args[]){
//”object” objet is created by instantiating test4 class. His class is then used to call display() function from class test4.
Main object = new Main();
object.display();
}
}

Sortie :

Étant donné la classe principale de test4, le programme Java doit donc être enregistré sous le nom « test4.java ».

Dans CMD, nous devons naviguer jusqu'au chemin où ce fichier est enregistré. Dans ce cas, j'ai enregistré le fichier sur le bureau. Compilez ensuite le programme en tapant « JAVAC test4.JAVA ». Une fois compilé, un nouveau fichier peut être vu dans les noms de bureau « test4.class ». Il s'agit du fichier exécutable de JAVA. Il est enregistré par le système sous le même nom que le nom du fichier principal, mais seule la désignation passe de .java à .class. Ensuite, nous pouvons exécuter le fichier à l'aide de la commande « JAVA test4 » et trouver le résultat de sortie.

Héritage hybride en Java

Conclusion

L'héritage hybride est un excellent moyen d'obtenir les fonctionnalités de deux types d'héritage différents en un seul. Sa fonctionnalité fournie par JAVA permet la réutilisabilité du code. JAVA ne prend pas en charge les héritages multiples, mais cette fonctionnalité peut être appréciée à l'aide d'interfaces ainsi que de l'héritage. Ceci est très utile lorsque nous essayons d'avoir des pratiques standard telles que la réutilisabilité du code, le polymorphisme et l'encapsulation dans notre code pour correspondre aux normes de l'industrie. Ces pratiques garantissent une maintenance facile du code sur une période plus longue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn