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.
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.
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
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
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.
final
Fonction des mots-clés
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Télécharger la version Mac de l'éditeur Atom
L'éditeur open source le plus populaire

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
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser