[JAVA] "Héritage" que même les débutants en orientation objet peuvent comprendre
introduction
Connaissez-vous les trois éléments majeurs de la programmation orientée objet?
-
- Classe (encapsulation)
-
- Héritage
-
- Polymorphisme
Dans cet article, j'expliquerai l'un des trois éléments majeurs, «l'héritage».
Le polymorphisme est expliqué dans l'article ici.
Qu'est-ce que l'héritage?
En un mot, c'est un mécanisme pour organiser les points communs et les différences entre les objets (classes).
C'est la soi-disant «relation est-une».
La relation est-un signifie que A est un B., ce qui signifie «A est un type de B» en japonais.
En outre, dans le concept des mathématiques, c'est la relation entre «ensemble entier et sous-ensemble».
(Exemple)
- Les mammifères sont un type d'animal (les poissons et les amphibiens sont également un type d'animal)
- La fraise fait partie de la famille des roses (Sakura, Ume et pêche font également partie de la famille des roses)
Supplément
@shiracamus a commenté que "la super classe est l'ensemble minimum de fonctions communes".
Super classe et sous-classe
- Qu'est-ce que Super Class?
- C'est l'ensemble complet.
- Dans l'exemple ci-dessus, "animal" et "rose famille" correspondent à la super classe.
- Définissez les propriétés communes de l'ensemble.
- Qu'est-ce qu'une sous-classe
- Un sous-ensemble.
- Dans l'exemple ci-dessus, «mammifère» et «fraise» correspondent à des sous-classes.
- Le sous-ensemble définit les propriétés uniques.
Pourquoi l'héritage est-il important?
- C'est pour éliminer le gaspillage du programme. En d'autres termes, l'efficacité et la maintenabilité de la création de programmes s'amélioreront.
- Par exemple, supposons que la classe A, la classe B et la classe C aient la même méthode.
- Lorsque vous devez modifier la méthode, vous devez modifier trois parties, la classe A, la classe B et la classe C.
- Ce qui précède est un travail inutile! (Il faut du temps pour modifier le programme et effectuer le test)
- Si vous définissez la fonction (méthode) que vous souhaitez avoir dans la super classe, vous pouvez faire en sorte que toutes les sous-classes qui héritent de la super classe aient la même fonction.
- La classe Object, qui est une superclasse de toutes les classes, a une méthode toString définie pour la stringification.
- Ceci est un aperçu qui conduit également au "polymorphisme".
Exemple de programmation spécifique d'héritage
Aperçu du programme
- Ceci est un programme Janken.
- Les joueurs de Janken sont des personnes et des robots.
- Les joueurs sont des superclasses, et les personnes et les robots sont des sous-classes.
- Le comportement du joueur (méthode janken pour jouer) est partagé dans la super classe.
- Les humains et les robots peuvent jouer (vous pouvez appeler la méthode janken).
Super classe
Player.java
public class Player {
public void janken() {
//Traitement Janken
}
}
Sous-classe
Format: nom de la sous-classe + étend + nom de la super classe
Person.java
public class Person extends Player {
//réduction
}
Robot.java
public class Robot extends Player {
//réduction
}
Classe principale
MainClass.java
public class MainClass {
public static void main(String[] args) {
Person person = new Person();
Robot robot = new Robot();
//Janken
person.janken();
robot.janken();
}
}
Sommaire
Qu'est-ce que l'héritage?
- Un mécanisme pour organiser les points communs et les différences de classes.
- Super classe
- Ensemble complet
- Classes qui définissent les points communs
- Is-une classe correspondant à "B" en relation (A est un B.)
- Sous-classe
- Sous-ensemble
- Classe qui définit les différences
- Is-une classe correspondant à "A" en relation (A est un B.)
Pourquoi l'héritage est-il important?
- C'est pour éliminer le gaspillage du programme.
- Cela permet de réduire le coût de modification et de test du programme. C'est un point de vue très important dans la pratique.
Références
- Pourquoi le rendre orienté objet, 2e édition
Si vous souhaitez en savoir plus sur l'orientation des objets, je vous recommande de le lire.
Vous pouvez également l'acheter sur Amazon.