Maison >Java >javaDidacticiel >La différence entre la surcharge, l'héritage, la substitution et le polymorphisme en Java

La différence entre la surcharge, l'héritage, la substitution et le polymorphisme en Java

高洛峰
高洛峰original
2017-01-19 13:58:031353parcourir

La différence entre la surcharge, l'héritage, la substitution et le polymorphisme :

1) L'héritage se produit lorsqu'une sous-classe obtient des membres de la classe parent.
2) La substitution est une méthode de réimplémentation de la classe parent après l'héritage.
3) La surcharge est une série de méthodes avec des paramètres différents et le même nom dans une classe.
4) Le polymorphisme vise à éviter un grand nombre de surcharges dans la classe parent, ce qui entraînerait une surcharge du code et une difficulté à maintenir.

Une déclaration intéressante que j'ai vue sur Internet est la suivante : l'héritage est une méthode permettant aux sous-classes d'utiliser des classes parentes, tandis que le polymorphisme est une méthode permettant aux classes parent d'utiliser des sous-classes.

L'exemple suivant inclut ces quatre implémentations :

class Triangle extends Shape {

public int getSides() {
return 3;
}
>

class Rectangle étend Shape {
public int getSides(int i) {
return i;
}
}

public class Shape {
public boolean isSharp(){
return true;
}

public int getSides(){
return 0 ;
}
public int getSides(Triangle tri) {
return 3 ;
}
public int getSides(Rectangle rec){
return 4 ;
}

public static void main(String[] args) {
Triangle tri = new Triangle();
System.out.println(« Le triangle est un type de pointu ? » tri.isSharp());
Shape shape = new Triangle();
System .out .println("Ma forme a des côtés" shape.getSides() ".");
}
}

Le rouge est une surcharge, le vert est un écrasement, le bleu est un héritage, le rose est polymorphe

Notez que les méthodes de la classe Triangle sont surchargées, tandis que les méthodes de la classe Rectangle sont surchargées.
En comparant les parties rouge et rose, vous pouvez trouver les avantages du polymorphisme par rapport à la surcharge : si la surcharge est utilisée, une méthode pour obtenir le nombre d'arêtes doit être surchargée dans la classe parent pour chaque sous-classe si plusieurs états, le parent ; La classe fournit uniquement une interface pour obtenir le nombre d'arêtes. Quant à l'obtention du nombre d'arêtes de quelle forme et comment l'obtenir, chaque classe enfant peut l'implémenter (réécrire).

Pour plus d'articles sur les différences entre la surcharge, l'héritage, la réécriture et le polymorphisme en Java, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn