Comment utiliser l'héritage en langage Java
L'héritage en langage Java est une fonctionnalité importante de programmation orientée objet. Il rapproche la connexion entre les classes et la complexité du code. La convivialité a également été grandement améliorée. . Dans la programmation Java, l'héritage est utilisé pour créer une nouvelle classe, qui peut hériter de toutes les propriétés et méthodes de la classe existante, et peut également ajouter ses propres propriétés et méthodes pour étendre et améliorer la classe existante. Cet article présentera en détail l'utilisation de l'héritage du langage Java, y compris la définition de l'héritage, les caractéristiques de l'héritage, la mise en œuvre de l'héritage, les précautions d'héritage, etc.
1. La définition de l'héritage
L'héritage est une fonctionnalité importante dans la programmation orientée objet. Il nous permet d'utiliser directement les méthodes et les propriétés des classes existantes lors de la conception de classes. , économisant ainsi du temps et de l'énergie. En Java, l'héritage est implémenté via le mot-clé extends. La sous-classe nouvellement créée peut hériter des propriétés et des méthodes de la classe parent et ajouter ses propres propriétés et méthodes.
Le cœur de l'héritage est l'héritage de la classe parent par la sous-classe. La sous-classe obtiendra toutes les propriétés et méthodes non privées de la classe parent et pourra étendre la classe parent en réécrivant ou en ajoutant de nouvelles. méthodes. Les deux classes avec une relation d'héritage sont appelées classe parent et classe enfant. La classe parent a des propriétés et méthodes communes, tandis que la classe enfant étend de nouvelles propriétés et méthodes sur cette base.
2. Caractéristiques de l'héritage
L'héritage est un moyen de réutilisation du code Les sous-classes peuvent hériter. le code, les propriétés et les méthodes de la classe parent, évitant ainsi le problème de l'écriture répétée du même code et améliorant la réutilisabilité du code. En héritage, les sous-classes peuvent accéder aux données existantes via les méthodes et attributs de la classe parent, et peuvent également hériter des comportements et des fonctions de la classe parent, réduisant ainsi la redondance du code et utilisant le code existant pour implémenter de nouvelles fonctions.
En Java, il existe plusieurs classes qui peuvent être héritées par les sous-classes, formant une hiérarchie de classes. La classe la plus basique de cette structure est la classe java.lang.Object, et les autres classes héritent de la classe Object. Dans cette hiérarchie, les sous-classes peuvent hériter des membres et des méthodes de la classe parent et peuvent étendre de nouvelles méthodes et propriétés sur cette base.
En héritage, une sous-classe peut redéfinir une méthode portant le même nom que la classe parent. Ce processus est appelé réécriture de méthode. Récrire. Lors du remplacement d'une méthode, la sous-classe doit suivre les règles de remplacement de la classe parent, c'est-à-dire que le nom de la méthode, le type de paramètre et le type de valeur de retour doivent être les mêmes que ceux de la classe parent ou que le type de valeur de retour de la sous-classe. doit être un enfant du type de valeur de retour de la classe parent. Les sous-classes peuvent également choisir de ne pas remplacer les méthodes de la classe parent et en hériteront. Ce processus est appelé héritage de méthode.
En Java, il existe quatre autorisations d'accès pour les variables et méthodes membres : publique, privée, protégée et par défaut. Parmi eux, le public a les droits d'accès les plus étendus, tandis que le privé a les droits les plus restreints. En héritage, une sous-classe peut hériter des membres publics et protégés de la classe parent, mais ne peut pas hériter des membres privés de la classe parent. Même si la sous-classe peut accéder aux méthodes et propriétés protégées de la classe parent, ces méthodes et propriétés ne sont pas visibles par les autres classes.
3. Comment implémenter l'héritage
L'héritage en Java peut être implémenté via le mot-clé extends Le format de syntaxe est :
访问修饰符 class subclass-name extends parent-class-name { // 子类继承父类的成员和方法 }
In sous-classes In. , vous pouvez hériter de toutes les méthodes et propriétés non privées de la classe parent, vous pouvez également remplacer les méthodes de la classe parent ou ajouter vos propres méthodes et propriétés. Une sous-classe ne peut hériter que d'une seule classe parent, et une classe parent peut être héritée par plusieurs sous-classes.
Ce qui suit est un exemple d'héritage :
public class Animal { public void move() { System.out.println("Animal can move"); } } public class Dog extends Animal { public void move() { System.out.println("Dog can move"); } } public class TestDog { public static void main(String args[]) { Animal a = new Animal(); // Animal 对象 Animal b = new Dog(); // Dog 对象 a.move(); // 执行 Animal 类的方法 b.move(); // 执行 Dog 类的方法 } }
Dans l'exemple ci-dessus, la classe Animal est la classe parent, la classe Dog est une sous-classe et la classe Dog hérite la méthode Animal move() de la classe parent et a redéfini sa propre méthode.
4. Notes sur l'héritage
En Java, l'héritage des sous-classes la classe parent, le constructeur ne peut pas être hérité et la sous-classe doit définir son propre constructeur. Dans une sous-classe, vous pouvez utiliser le mot-clé super pour appeler le constructeur de la classe parent afin d'initialiser la classe parent.
En Java, lorsqu'une sous-classe remplace une méthode de classe parent , il est nécessaire de s'assurer que les droits d'accès sont les mêmes ou plus assouplis, et non plus restrictifs. Par exemple, l'autorisation d'accès d'une méthode de classe parent est publique et l'autorisation d'accès d'une méthode de sous-classe ne peut pas être définie sur des autorisations privées ou protégées.
Le polymorphisme en Java permet au pointeur de classe parent de pointez vers les objets des sous-classes, cette situation est appelée diffusion vers le haut. Mais l’inverse n’est pas vrai. Par exemple, le pointeur de la classe Dog ne peut pas pointer vers un objet de la classe Animal.
En Java, si une méthode de la classe parent est définie comme finale, la sous-classe ne peut pas la remplacer. méthode, c’est-à-dire que la méthode finale ne peut pas être remplacée. Cette restriction vise à empêcher les sous-classes de modifier les méthodes d'origine et d'affecter l'exactitude du programme.
En Java, en plus de l'héritage, il existe une autre méthode courante de réutilisation du code, à savoir la combinaison. La composition consiste à utiliser un objet instance d'une classe comme variable membre d'une autre classe pour étendre ses propres propriétés et méthodes. Contrairement à l'héritage, la composition relie deux classes de manière compositionnelle plutôt que par héritage. Vous devez choisir en fonction de la situation réelle lors de son utilisation.
Résumé
L'héritage en langage Java est une fonctionnalité importante de programmation orientée objet, qui peut optimiser la réutilisation du code et réduire les coûts de développement. Lorsque vous utilisez l'héritage, vous devez faire attention aux problèmes tels que les autorisations d'accès aux classes et sous-classes parentes, aux constructeurs et à la réécriture de méthodes pour garantir l'exactitude et la sécurité du programme. Bien sûr, dans le développement réel, l'héritage n'est pas nécessairement le meilleur moyen de réutiliser le code. La combinaison est également une option réalisable en fonction de la situation réelle.
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!