recherche

Héritage

Jan 19, 2025 pm 06:08 PM

Explication détaillée du mécanisme d'héritage Java : la pierre angulaire de la construction de programmes orientés objet

Le mécanisme d'héritage en Java permet à un objet d'hériter de toutes les propriétés et comportements de l'objet parent, ce qui est le concept de base de la programmation orientée objet (POO). Grâce à l'héritage, nous pouvons créer une nouvelle classe basée sur une classe existante, réutiliser les méthodes et les champs de la classe parent et ajouter de nouvelles méthodes et champs sur cette base.

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

Le mécanisme d'héritage Java permet à une classe (sous-classe ou classe dérivée) d'hériter des propriétés et méthodes d'une autre classe (superclasse ou classe parent). Les sous-classes peuvent accéder aux membres (champs et méthodes) de la superclasse, appliquant des règles de réutilisation et promouvant la hiérarchie des classes. L'héritage incarne la relation « IS-A », également connue sous le nom de relation parent-enfant.

Pourquoi utiliser l'héritage Java ?

  • Réutilisation du code : L'héritage améliore considérablement la réutilisation du code et évite d'écrire le même code fonctionnel à plusieurs reprises.
  • Réécriture de méthode (implémentation du polymorphisme d'exécution) : (à ajouter)

Conditions liées à l'héritage

  • Classe : Une collection d'objets avec des propriétés communes qui est un modèle ou un plan pour créer des objets.
  • Sous-classe/Sous-classe : Une classe qui hérite d'autres classes, également appelée classe dérivée, classe étendue ou sous-classe.
  • Super classe/classe parent : Une classe dont les sous-classes héritent de caractéristiques, également appelée classe de base ou classe parent.
  • Réutilisabilité : Un mécanisme permettant de réutiliser les champs et méthodes de classe existants lors de la création de nouvelles classes.

Syntaxe d'héritage Java

class 子类名称 extends 超类名称 {
    // 方法和字段
}
Le mot-clé

extends signifie créer une nouvelle classe dérivée d'une classe existante. « étend » signifie fonctionnalité étendue. Dans la terminologie Java, la classe héritée est appelée classe parent ou superclasse, et la nouvelle classe est appelée sous-classe ou classe enfant.

Héritage

La figure ci-dessus montre que Programmer est une sous-classe et Employee est une superclasse. La relation entre les deux est Programmer IS-A Employee, ce qui signifie que le programmeur est une sorte d'employé.

Exemple : Programmer.java

class Employee {
    float salary = 40000;
}

class Programmer extends Employee {
    int bonus = 10000;

    public static void main(String args[]) {
        Programmer p = new Programmer();
        System.out.println("程序员薪资:" + p.salary);
        System.out.println("程序员奖金:" + p.bonus);
    }
}

Types hérités de Java

Selon la relation d'héritage des classes, l'héritage Java est principalement divisé en trois types : l'héritage unique, l'héritage multicouche et l'héritage hiérarchique.

Héritage

Remarque : Java ne prend pas en charge l'héritage multiple via les classes.

Lorsqu'une classe hérite de plusieurs classes, on parle d'héritage multiple. Par exemple : Héritage multiple en Java

Héritage

Exemple d'héritage unique

Lorsqu'une classe hérite d'une autre classe, on parle d'héritage unique. Dans l'exemple ci-dessous, la classe Dog hérite de la classe Animal, donc un héritage unique.

TestHéritage.java

class Animal {
    void eat() {
        System.out.println("正在吃...");
    }
}

class Dog extends Animal {
    void bark() {
        System.out.println("汪汪...");
    }
}

class TestHéritage {
    public static void main(String args[]) {
        Dog d = new Dog();
        d.bark();
        d.eat();
    }
}

Exemple d'héritage multi-niveaux

Lorsqu'il existe une chaîne d'héritage, on parle d'héritage multi-niveaux. Dans l'exemple ci-dessous, la classe BabyDog hérite de la classe Dog, qui à son tour hérite de la classe Dog, d'où un héritage multi-niveau. Animal

TestHéritage2.java

class 子类名称 extends 超类名称 {
    // 方法和字段
}

Exemple d'héritage hiérarchique

Lorsque deux classes ou plus héritent d'une seule classe, on parle d'héritage hiérarchique. Dans l'exemple ci-dessous, les classes Dog et Cat héritent de la classe Animal, d'où l'héritage hiérarchique.

TestHéritage3.java

class Employee {
    float salary = 40000;
}

class Programmer extends Employee {
    int bonus = 10000;

    public static void main(String args[]) {
        Programmer p = new Programmer();
        System.out.println("程序员薪资:" + p.salary);
        System.out.println("程序员奖金:" + p.bonus);
    }
}

Pourquoi Java ne prend-il pas en charge l'héritage multiple ? (A ajouter)

Pour réduire la complexité et simplifier le langage, Java ne prend pas en charge l'héritage multiple via les classes.

Réécriture de méthodes et surcharge de méthodes

  • Remplacement de méthode : Une sous-classe fournit une implémentation spécifique d'une méthode déclarée dans la classe parent.
  • Surcharge de méthode : Dans la même classe, le nom de la méthode est le même, mais le nombre ou le type de paramètres sont différents.

finalFonction des mots-clés

Le mot-clé

final est utilisé pour empêcher le remplacement de méthode et l'extension de classe :

  • final Champ : ne peut pas être réaffecté.
  • final Méthode : ne peut pas être remplacée.
  • final Classe : ne peut pas être héritée.

Lien de référence : https://www.php.cn/link/9b4192ee086949047cfc64d86d895c2e

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Télécharger la version Mac de l'éditeur Atom

Télécharger la version Mac de l'éditeur Atom

L'éditeur open source le plus populaire

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser