ホームページ  >  記事  >  Java  >  Java におけるオーバーロード、継承、オーバーライド、ポリモーフィズムの違い

Java におけるオーバーロード、継承、オーバーライド、ポリモーフィズムの違い

高洛峰
高洛峰オリジナル
2017-01-19 13:58:031271ブラウズ

オーバーロード、継承、オーバーライド、ポリモーフィズムの違い:

1) 継承とは、サブクラスが親クラスのメンバーを取得することです。
2) オーバーライドとは、継承後に親クラスを再実装する方法です。
3) オーバーロードとは、クラス内で異なるパラメーターと同じ名前を持つ一連のメソッドです。
4) ポリモーフィズムは、コードが肥大化して保守が困難になる、親クラスでの多数のオーバーロードを回避するためのものです。

インターネットで見た興味深い言葉は、「継承はサブクラスが親クラスを使用するための方法であり、ポリモーフィズムは親クラスがサブクラスを使用するための方法である」です。

次の例には、次の 4 つの実装が含まれています。

class Triangle extends Shape {

public int getSides() {
return 3;
}
}

class Rectangle extends 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 (“三角形はシャープの一種ですか? ” + tri.isSharp());
形状の形状 = new Triangle();
System.out.println(“私の形状には ” + Shape.getSides() + ” の側面があります。” );
}
}

赤はオーバーロード、緑は上書き、青は継承、ピンクはポリモーフィズムです

Triangle クラスのメソッドがオーバーライドされ、Rectangle クラスのメソッドがオーバーロードであることに注意してください。
赤とピンクの部分を比較すると、オーバーロードに対するポリモーフィズムの利点がわかります。オーバーロードを使用する場合、エッジの数を取得するメソッドは、ポリモーフィズムを使用する場合は各サブクラスの親クラスでオーバーロードする必要があります。クラスは辺の数を取得するためのインターフェースを提供するだけです。どの形状の辺の数をどのように取得するかについては、それぞれサブクラスで実装(書き換え)します。

Java におけるオーバーロード、継承、書き換え、ポリモーフィズムの違いに関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。