Dans l'héritage Java, la super classe (classe parent) est la classe universelle qui définit le comportement et les propriétés de l'objet, tandis que la sous-classe (classe dérivée) hérite de la super classe et étend ses fonctionnalités. Les sous-classes peuvent utiliser des membres non privés de la superclasse et remplacer les méthodes de la superclasse.
Polymorphisme :
Le polymorphisme permet au comportement d'un objet de varier en fonction de son type réel. En Java, un objet de sous-classe peut être affecté à un objet de superclasse et lorsqu'une méthode de superclasse est appelée, la méthode réellement exécutée dépend du type réel de l'objet.
Avantages du polymorphisme :
Défis polymorphes :
Bonnes pratiques :
Malentendus courants :
Exemple :
Considérons l'exemple suivant :
class Shape { protected String name; public void draw() { System.out.println("Drawing a shape"); } } class Rectangle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a rectangle"); } } class Circle extends Shape { public void draw() { super.draw(); System.out.println("Drawing a circle"); } } public class Main { public static void main(String[] args) { Shape s1 = new Rectangle(); Shape s2 = new Circle(); s1.draw(); // Prints "Drawing a rectangle" s2.draw(); // Prints "Drawing a circle" } }
Dans cet exemple, Shape est la superclasse qui définit le comportement et les propriétés communes. Rectangle et Circle sont des sous-classes héritées de Shape qui étendent le comportement de Shape. La méthode main crée deux objets Shape, l'un affecté au Rectangle et l'autre au Circle. Lorsque la méthode draw() est appelée, la méthode réelle exécutée dépend du type réel de l'objet, démontrant le polymorphisme.
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!