Présentation de l'héritage en Java

Contrairement à d'autres langages de programmation tels que C, Java offre un mécanisme par lequel les membres de données et les méthodes d'une classe sont hérités par une autre classe. Ce processus est connu sous le nom d'héritage en Java. Pour hériter d'une classe, le mot-clé 'extend' est utilisé. L'héritage en Java permet la réutilisation du code de sorte qu'une classe n'a besoin que d'écrire les fonctionnalités uniques et le reste du code peut être étendu à partir de l'autre classe. La classe qui hérite de l'autre classe est appelée sous-classe ou classe enfant et la classe héritée est connue sous le nom de classe parent ou super-classe. La syntaxe, les types et l'implémentation de l'héritage seront abordés dans les sections suivantes.

Types d'héritage en Java

L'héritage signifie une relation IS-A qui est autrement connue comme une relation parent-enfant. Le parent et l'enfant sont déjà mentionnés dans la partie d'introduction.

Avant de passer aux types d'héritage en java, voyons d'abord la syntaxe de l'héritage.

Syntaxe:

class apple extends fruit
(
//methods and fields
)

Ici, la pomme est la sous-classe et le fruit est la classe parente. Cela signifie que la pomme a certaines propriétés uniques et possède également les propriétés du fruit.

Il existe 4 différents types d'héritage en Java.

  • Héritage unique
  • Héritage à plusieurs niveaux
  • Héritage hiérarchique
  • Héritage multiple (à l'aide d'interfaces)

Voyons maintenant chacun d'eux en détail.

1. Héritage unique

Une classe qui étend une seule classe. Dans l'exemple suivant, la classe pomme étend les fruits de la classe.

ie Fruit est la superclasse et Apple est la sous-classe qui étend les propriétés et le comportement de la classe Fruit.

Voici la démonstration de l'héritage unique en Java.

Code:

//Java program to demonstrate Single Inheritance
//parent class
class fruit (
public void taste()
(
System.out.println("Fruits are sweet");
)
)
//child class of fruit
class apple extends fruit
(
public void shape()
(
System.out.println("Apple is round");
)
)
public class InheritanceExample
(
public static void main(String() args) (
apple fr = new apple(); //object of child class
fr.taste(); //call method of parent class
fr.shape(); //call method of child class
)
)

Production:

2. Héritage à plusieurs niveaux

Dans ce type d'héritage, une classe sera étendue à partir d'une autre classe et la classe dérivée fera office de classe de base pour une autre classe.

Par exemple, dans la figure, une classe à quatre roues est la classe parente et la voiture est la classe dérivée de la classe à quatre roues. Dans le même temps, la voiture de classe peut être la classe de base de la classe Maruti.

Code:

//Java program to demonstrate Multiple Inheritance
//parent class
class fourwheeler (
public void wheels()
(
System.out.println("I have 4 wheels");
)
)
//child class of fourwheeler and parent of maruti
class car extends fourwheeler
(
public void type()
(
System.out.println("I'm a car");
)
)
//child class of car class
class maruti extends car
(
public void comp()
(
System.out.println("I'm maruti");
)
)
public class InheritanceExample
(
public static void main(String() args) (
maruti fr = new maruti(); //object of child class
fr.wheels();
fr.type();
fr.comp();
)
)

Production:

3. Héritage hiérarchique

Dans l'héritage hiérarchique, une classe de base a plus d'une classe enfant, ce qui signifie que les propriétés d'une classe sont acquises par différentes classes.

Par exemple, un véhicule de classe a des sous-classes de voitures, vélos, scooters.

Code:

//Java program to demonstrate Hierarchical Inheritance
//parent class
class vehicle (
public void wheels()
(
System.out.println("I have wheels");
)
)
//first child class of vehicle class
class bike extends vehicle
(
public void countwl()
(
System.out.println("I am a bike and has 2 wheels");
)
)
//second child class of vehicle class
class car extends vehicle
(
public void countwlc()
(
System.out.println("I am a car and has 4 wheels");
)
)
//third child class of vehicle class
class scooter extends vehicle
(
public void countwls()
(
System.out.println("I am a scooter and has 2 wheels");
)
)
public class InheritanceExample
(
public static void main(String() args) (
scooter sc = new scooter(); //object of scooter class
sc.wheels();
sc.countwls();
car c = new car(); //object of car class
c.wheels();
c.countwlc();
bike b= new bike();//object of bike class
b.wheels();
b.countwl();
)
)

Production:

4. Héritage multiple

Les héritages multiples en java sont un type d'héritage dans lequel une classe a plus d'une classe parente.

Par exemple, la classe C acquiert les propriétés de la classe A et de la classe B.

Mais, en Java, l'héritage multiple ne peut être obtenu qu'en utilisant des interfaces.

Supposons que plusieurs héritages soient implémentés comme les autres types d'héritage, une erreur de compilation peut se produire comme suit.

Code:

//Java program to demonstrate multiple Inheritance
//parent class
class A
(
public void hh()
(
System.out.println("A is working");
)
)
class B
(
public void hh()
(
System.out.println("B is working");
)
)
class C extends A, B
(
//code for class c
)
public class InheritanceExample
(
public static void main(String() args) (
C sc = new C(); //object of C class
C.hh();
)
)

Ici, la sortie ne sera pas affichée car elle contient une erreur de compilation.

Importance de l'héritage en Java

  • Réutilisation du code: l' héritage aide à réduire la réécriture du code. ie le code peut être réutilisé par d'autres classes et la classe enfant n'a qu'à écrire ses propres propriétés uniques. Cela réduit la consommation de temps et la complexité du code.
  • Pour la substitution de méthode: une méthode qui est déjà présente dans la classe parent est déclarée par la classe enfant, puis elle est connue sous le nom de substitution de méthode.
Remarque: Supposons que si une classe ne doit pas être réutilisée, le mot clé final peut être utilisé.

Syntaxe:

final class A
(
. . .
)
Class B extends A
(
. . .
)

Dans ce cas, une erreur sera générée qui indique «Impossible d'hériter du A final».

Conclusion

L'héritage en Java est une propriété par laquelle les propriétés et le comportement d'une classe sont acquis par une autre classe afin de permettre la réutilisation du code. Il existe différents types d'héritage en Java tels que l'héritage unique, l'héritage à plusieurs niveaux, l'héritage hiérarchique et l'héritage multiple en Java. Dans ce document, plusieurs aspects importants de l'héritage sont traités.

Articles recommandés

Ceci est un guide de l'héritage en Java. Nous discutons ici de l'importance et des différents types d'héritage en java ainsi que de la syntaxe, des exemples et de l'implémentation du code. Vous pouvez également consulter les articles suivants pour en savoir plus-

  1. JScrollPane en Java
  2. Sessions en PHP
  3. Tri en Java
  4. Qu'est-ce que Java Garbage Collector?
  5. Outils de déploiement Java
  6. Surcharge en Java
  7. Héritage en PHP