Cet article explique comment l'héritage de Java a une relation «IS-A» entre les superclasses et les sous-classes, permettant aux sous-classes d'hériter et de personnaliser les fonctionnalités des superclasse. En utilisant le polymorphisme, les sous-classes peuvent définir des comportements uniques, permettant la réutilisation du code et la flexibilité dans la programmation orientée objet.
Dans Java, la relation entre les super classes (classe parent) et les sous-classes (classe enfant ou classe dérivée) dans l'héritage est une relation IS-A impliquant que la sous-classe est une version spécialisée de la superclasse héréditaire de la fonctionnalité (les restrictions peuvent être appliqué) d'une classe dont il est dérivé (CSU Global, n.d). En d'autres termes, si la classe B hérite de la classe A, alors la classe B «est un» type de classe A. Cette relation permet fonctionnalités spécifiques ou / et en remplaçant une partie ou la totalité des fonctionnalités de la classe A. La capacité de la classe infantile à remplacer la fonctionnalité est une forme de polymorphisme.
«La définition du dictionnaire du polymorphisme fait référence à un principe de biologie dans lequel un organisme ou une espèce peut avoir de nombreuses formes ou étapes différentes. Ce principe peut également être appliqué à la programmation et aux langages orientés objet comme le langage Java. Les sous-classes d'une classe peuvent définir leurs propres comportements uniques tout en partageant certaines des mêmes fonctionnalités de la classe parent »(The Java ™ Tutorials, s.d.) Ceci est particulièrement bénéfique pour traiter plusieurs objets de différentes sous-classes qui partagent un type de superclasse commun.
Par exemple: les chiens, les chats et les hiboux sont des animaux:
superclass
public class Animal { public void makeSound() { System.out.println("Makes a Sound"); } }
Sous-classe des animaux
public class Domesticated extends Animal { public void friendly() { System.out.println("This animal is friendly."); } }
Sous-classe de domestiqué
public class Undomesticated extends Animal { public void notFriendly() { System.out.println("This animal is not friendly."); } }
Sous-classe de domestiqué
public class Cat extends Domesticated { @Override public void makeSound() { System.out.println("Meow"); } }
Sous-classe de
non domestiqué
public class Owl extends Undomesticated { @Override public void makeSound() { System.out.println("Hoots"); } }
classe principale pour sortir le résultat
public class inheritanceExample { public static void main(String[] args) { Dog myDog = new Dog(); Cat myCat = new Cat(); Owl redOwl = new Owl(); System.out.println("MY Dog:"); myDog.makeSound(); // Outputs: Bark myDog.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("My Cat:"); myCat.makeSound(); // Outputs: Meow myCat.friendly(); // Outputs: This animal is friendly. System.out.println(); System.out.println("Red Owl:"); redOwl.makeSound(); // Outputs: Hoot redOwl.notFriendly(); // Outputs: This animal is not friendly. } }
Remarque: Les méthodes makeSound () dans les classes de chien et de chat remplacent la méthode makeSound () dans la classe animale.
De plus, la classe de chiens est une sous-classe de la classe domestique qui est une sous-classe de la classe animale.
Enfant de «→»
Dans Java, une sous-classe ne peut avoir qu'une seule superclasse, par exemple, la classe de chien ne peut pas avoir une superclasse domestique et un animal superclasse, ce qui suit n'est pas autorisé.
En d'autres termes, une sous-classe ne peut avoir qu'une seule superclasse,… et ils ne sont pas autorisés à avoir plusieurs parents, grands-parents ou arrière-grands-parents.
En conclusion, l'héritage de Java permet aux sous-classes d'utiliser et d'étendre les fonctionnalités des superclasses, d'incarner la relation «IS-A» et de faciliter le polymorphisme. Cela améliore la réutilisabilité, la flexibilité et la cohérence du code en permettant des comportements spécifiques dans les sous-classes tout en conservant des caractéristiques partagées sur une superclasse commune.
références:
cus global (n.d.). Module 1: Travailler avec l'héritage [Conférence interactive]. Dans Colorado State University Global, CSC372: Programmation II, Département d'informatique. Toile. Extrait le 8 juin 2024 de https://csuglobal.instructure.com/Courses/94948/pages/module-1-overview?module_item_id=4868813
Les tutoriels Java ™ (n.d.). Apprendre la langue Java: interfaces et héritage. Oracle. Extrait le 8 juin 2024, Fromhttps: //docs.oracle.com/javase/tutorial/java/iandi/polymorphism.html
Publié à l'origine sur Alex.omegapy sur le milieu publié par niveau de codage le 1er novembre 2024.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3