Types d'héritage en Java avec des exemples

Publié: 2022-06-26

L'héritage en Java permet aux développeurs de créer de nouvelles classes avec celles existantes. Il permet la réutilisation du code. L'héritage peut être à la fois un héritage unique et un héritage à plusieurs niveaux. L'héritage diminue la redondance du code, le rend plus lisible et maintenable, et agit ainsi comme un outil pour augmenter la qualité du logiciel.

Table des matières

Importance de l'héritage

En Java, l'héritage est la méthode par laquelle une classe acquiert les propriétés et les fonctionnalités d'une autre classe. L'héritage fait gagner du temps, diminue la redondance, rend le code plus lisible, compréhensible et maintenable, et agit comme un outil pour augmenter la qualité du logiciel. L'héritage a de nombreuses applications vitales dans le langage de programmation Java L'héritage permet aux développeurs de créer de nouvelles classes en utilisant celles existantes Les classes héritées agissent comme des modèles ou des plans L'héritage permet la réutilisation des logiciels Les classes héritées agissent comme une relation parent-enfant Les méthodes héritées rendent les classes héritées indépendantes Les attributs hérités rendent les classes héritées indépendant.

La hiérarchie d'héritage dénote une relation parent-enfant entre les différents niveaux d'héritage. Le niveau d'héritage le plus élevé est connu sous le nom de "super classe" ou "classe parent".

Apprenez des cours de développement 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.

Syntaxe de l'héritage Java

class Nom de la sous-classe étend le nom de la superclasse

{

//méthodes et champs

}

Le mot clé extended indique que vous créez une nouvelle classe qui hérite de toutes les fonctionnalités de son parent. Cela signifie « augmenter » ou améliorer ce qui est déjà là.

Exemple : Dans l'exemple d'héritage ci-dessous, la classe Bicycle est une classe de base, la classe MountainBike est une classe dérivée qui étend la classe Bicycle et la classe Test est une classe de pilote pour exécuter un programme.

Saisir:

// Programme Java pour illustrer le

// notion d'héritage

// classe de base

vélo de classe {

// la classe Bicycle a deux champs

engins publics;

vitesse internationale publique ;

// la classe Bicycle a un constructeur

Vélo public (engrenage int, vitesse int)

{

this.gear = engrenage ;

this.speed = vitesse ;

}

// la classe Bicycle a trois méthodes

public void applyBrake(int decrement)

{

vitesse -= décrément ;

}

public void speedUp(int incrément)

{

vitesse += incrément ;

}

// méthode toString() pour imprimer les informations de Bicycle

public String toString()

{

retour (“Nombre d'engrenages sont ” + engrenage + “\n”

+ "la vitesse du vélo est " + vitesse);

}

}

// Classe dérivée

la classe MountainBike étend Bicycle {

// la sous-classe MountainBike ajoute un champ supplémentaire

public int seatHeight ;

// la sous-classe MountainBike a un constructeur

MountainBike public (vitesse int, vitesse int,

int startHeight)

{

// appel du constructeur de la classe de base (Bicycle)

super(engrenage, vitesse);

seatHeight = startHeight;

}

// la sous-classe MountainBike ajoute une méthode supplémentaire

public void setHeight(int newValue)

{

seatHeight = nouvelleValeur ;

}

// remplacement de la méthode toString()

// de Bicyclette pour imprimer plus d'infos

@Override public String toString()

{

return (super.toString() + "\nla hauteur du siège est "

+ hauteur du siège );

}

}

// classe de pilote

test de classe publique {

public static void main(String args[])

{

MountainBike mb = new MountainBike(3, 100, 25);

System.out.println(mb.toString());

}

}

Sortie :

Le nombre de vitesses est de 3

la vitesse du vélo est de 100

la hauteur du siège est de 25

Termes utilisés dans l'héritage

  • Classe : Une classe est un groupe d'objets qui ont des propriétés communes. C'est comme un manuel d'instructions ou un plan à partir duquel d'autres unités individuelles sont créées.
  • Sous-classe/Classe enfant : Une sous-classe est une classe qui hérite de l'autre classe. Elle est également appelée classe dérivée, classe étendue ou classe enfant.
  • Super classe/classe parent : la super classe est la classe dont une sous-classe hérite des fonctionnalités. Elle est également appelée classe de base ou classe parent.
  • Réutilisabilité : La réutilisabilité est un principe de conception clé dans la programmation orientée objet. Cela signifie que vous pouvez réutiliser les champs et les méthodes des classes existantes lors de la création de nouvelles au lieu de vous répéter à chaque fois avec un codage individuel.

Cours et articles populaires sur le génie logiciel

Programmes populaires
Programme exécutif PG en développement de logiciels - IIIT B Programme de certificat Blockchain - PURDUE Programme de certificat de cybersécurité - PURDUE MSC en informatique - IIIT B
Autres articles populaires
Salaire d'ingénieur cloud aux États-Unis 2021-22 Salaire d'AWS Solution Architect aux États-Unis Salaire d'un développeur backend aux États-Unis Salaire de développeur front-end aux États-Unis
Salaire de développeur web aux Etats-Unis Questions d'entretien de Scrum Master en 2022 Comment démarrer une carrière dans la cybersécurité en 2022 ? Options de carrière aux États-Unis pour les étudiants en génie

Types d'héritage Java

1. Héritage unique

L'héritage unique signifie qu'une classe en étend une autre ou implémente plusieurs interfaces à la fois avec le même modificateur d'accès ou non, c'est-à-dire public ou privé. La sous-classe créée hérite de toutes les fonctions membres et membres de données de sa base/superclasse, à l'exception de ceux déclarés comme privés, et ces membres sont accessibles aux membres et amis de la sous-classe.

Reportez-vous à l'exemple ci-dessous :

Saisir:

// Programme Java pour illustrer le

// concept d'héritage unique

importer java.io.* ;

importer java.lang.* ;

importer java.util.* ;

première classe {

public void print_A()

{

System.out.println("A");

}

}

la classe deux étend un {

public void print_for() { System.out.println("pour"); }

}

// Classe de pilote

classe publique principale {

public static void main(String[] args)

{

deux g = nouveau deux();

g.print_A();

g.print_for();

g.print_Apple();

}

}

Sortie :

UN

Pour

Pomme

2. Héritage à plusieurs niveaux

L'héritage à plusieurs niveaux est celui où il y a une chaîne d'héritage. n En Java, une classe dérivée ne peut pas accéder directement aux membres du grand-parent. Lorsque vous avez une hiérarchie d'héritage comme celle-ci où chaque nouveau niveau hérite d'une autre personne ou chose avant eux (ou vice versa), cela devient difficile pour un objet donné dans l'un ou l'autre groupe car ils ne peuvent utiliser que ce qui est disponible à leur propre respectif niveaux; rendant ainsi le débogage plus fastidieux que nécessaire !

Saisir:

// Programme Java pour illustrer le

// concept d'héritage multiniveau

importer java.io.* ;

importer java.lang.* ;

importer java.util.* ;

première classe {

public void print_Inheritance()

{

System.out.println("Héritage");

}

}

la classe deux étend un {

public void print_in() { System.out.println("in"); }

}

la classe trois étend deux {

public void print_Inheritance()

{

System.out.println("Java");

}

}

// Classe dérivée

classe publique principale {

public static void main(String[] args)

{

trois g = nouveau trois();

g.print_Inheritance();

g.print_in();

g.print_Java();

}

}

Sortie :

Héritage

Dans

Java

3. Héritage hiérarchique

Deux classes dans une hiérarchie peuvent hériter l'une de l'autre. Par exemple, si le chien et le chat appartiennent tous les deux à Animal, il y aura alors un héritage hiérarchique, les descendants de cette classe.

Saisir:

classe Animal{

void manger(){System.out.println("manger…");}

}

la classe Chien étend Animal{

void bark(){System.out.println("aboyer…");}

}

la classe Chat étend Animal{

void meow(){System.out.println(“miauler…”);}

}

classe TestInheritance3{

public static void main(String args[]){

Chat c=nouveau chat();

c.miaou();

c.manger();

//c.bark();//CTError

}}

Sortie :

miauler…

en mangeant…

4. Héritage multiple (via des interfaces)

Java ne prend pas en charge l'héritage multiple avec des classes, mais il est possible de les réaliser via des interfaces. Dans l'image ci-dessous, la classe C est dérivée à la fois de A et de B, ce qui signifie qu'elles partagent certaines fonctionnalités tout en ayant des implémentations différentes pour d'autres en fonction de leurs besoins spécifiques en exécution de code ou en exécution de méthodes requises par les utilisateurs (i).

Saisir:

// Programme Java pour illustrer le

// concept d'héritage multiple

importer java.io.* ;

importer java.lang.* ;

importer java.util.* ;

interface un {

public void print_eye();

}

interface deux {

public void print_for();

}

interface trois prolonge un, deux {

public void print_eye();

}

classe enfant implémente trois {

@Override public void print_eye()

{

System.out.println("Œil");

}

public void print_for() { System.out.println("pour"); }

}

// Classe dérivée

classe publique principale {

public static void main(String[] args)

{

enfant c = nouvel enfant();

c.print_eye();

c.print_for();

c.print_eye();

}

}

Sortie :

Œil

pour

Œil

5. Héritage hybride (via des interfaces)

L'héritage hybride est un type de programmation qui nous permet de mélanger deux ou plusieurs types. Les classes ne peuvent pas faire cela seules car elles n'ont qu'un seul ensemble de méthodes, ce qui signifie que nous avons besoin d'un autre objet pour que tout fonctionne correctement, mais les interfaces offrent la tranquillité d'esprit en vous permettant de savoir à quoi ressemblera votre programme avant qu'un code n'ait été écrit. !

Saisir

(Référence)

Les classes A et B étendent la classe C → Héritage hiérarchique

La classe D étend la classe A → Héritage unique

classe C

{

affichage vide public ()

{

System.out.println("C");

}

}

la classe A prolonge C

{

affichage vide public ()

{

System.out.println("A");

}

}

la classe B prolonge C

{

affichage vide public ()

{

System.out.println("B");

}

}

la classe D prolonge A

{

affichage vide public ()

{

System.out.println("D");

}

public static void main(String args[]){

D obj = nouveau D();

obj.disp();

}

}

Production:

Si vous souhaitez en savoir plus sur l'héritage en Java et sur d'autres concepts POO, nous vous recommandons le programme Executive PG d'upGrad en développement logiciel de l'IIIT-Bangalore . Le cours de 13 mois est conçu par des professionnels de l'industrie et des professeurs de classe mondiale pour renforcer les compétences dans plus de 30 outils et logiciels. Il comprenait plus de 400 heures de contenu, plus de 30 études de cas et projets pertinents pour l'industrie et plus de 10 sessions en direct pour vous aider à atteindre les résultats souhaités ; Le cours propose trois spécialisations, à savoir le développement full-stack, le développement cloud back-end et la cybersécurité.

Réservez votre place dans le programme dès aujourd'hui !

Quels sont les quatre types d'héritage?

Les quatre types d'héritage en Java sont : 1. Héritage hiérarchique 2. Héritage hybride 3. Héritage unique 4. Héritage à plusieurs niveaux

Expliquer le polymorphisme en Java.

Le polymorphisme en Java est un concept de programmation orientée objet dans lequel les objets des programmes peuvent prendre plusieurs formes. Cela permet à un seul objet d'effectuer la même action de plusieurs façons.

Expliquer le multithreading en Java.

Le multithreading en Java est une fonctionnalité grâce à laquelle plusieurs parties (chacune appelée thread) d'un programme peuvent être exécutées simultanément pour permettre une utilisation optimale du processeur.