Java サンプル - メソッドのオーバーライド
前の章で既に学習しましたJava メソッドのオーバーロード、本稿では Java メソッドのオーバーライドの実装を見ていきます。
メソッドのオーバーロードとオーバーライドの違いは次のとおりです:
- メソッドのオーバーロード(Overloading):2つのメソッドのメソッド名が同じで、パラメータが異なる場合、一方のメソッドは他方のメソッドのオーバーロードであると言えます。
- メソッドのオーバーライド(Overriding):サブクラスで定義したメソッドの名前、戻り値の型、パラメータシグネチャが、スーパークラスのあるメソッドの名前、戻り値の型、パラメータシグネチャと正確に一致する場合、サブクラスのメソッドがスーパークラスのメソッドをオーバーライドすると言えます。
以下のサンプルは、Java メソッドのオーバーライド(Overriding)コードの実装を示しています。
Findareas.java ファイル
public class Findareas{
public static void main (String []agrs){
Figure f= new Figure(10 , 10);
Rectangle r= new Rectangle(9 , 5);
Figure figref;
figref=f;
System.out.println("Area is :"+figref.area());
figref=r;
System.out.println("Area is :"+figref.area());
}
}
class Figure{
double dim1;
double dim2;
Figure(double a , double b) {
dim1=a;
dim2=b;
}
Double area() {
System.out.println("Inside area for figure.");
return(dim1*dim2);
}
}
class Rectangle extends Figure {
Rectangle(double a, double b) {
super(a ,b);
}
Double area() {
System.out.println("Inside area for rectangle.");
return(dim1*dim2);
}
}
上記のコードを実行した出力結果は次のとおりです:
Inside area for figure. Area is :100.0 Inside area for rectangle. Area is :45.0その他の拡張
Java サンプル