java oop23 overriding


に火をつける
-自分の状況に応じて祖先を継承する方法を変更します.
-変更不可と宣言し、実装部分のみを変更
上書き条件
1.宣言子は、祖先クラスのメソッドと一致する必要があります.
(戻りタイプ、メソッド名、パラメータリストが一致する必要があります)
2.アクセス制御者を祖先クラスメソッドより小さい範囲に変更することはできません.
3.例外は祖先の等級の方法よりずっと宣伝してはいけない.
(以下でなければなりません)
public class Oop23_overiding {

    public static void main(String[] args) {

        Point3D_3 pp =new Point3D_3();

        pp.x=3;
        pp.y=5;
        pp.z=7;

        System.out.println(pp.getLocation());
    }
}
class Point3{
    int x;
    int y;

    String getLocation() {
        return "x:"+x+" y:"+y;
    }
}

class Point3D_3 extends Point3{
    int z;

    //조상클래스에 같은 getLocation()메서드도 있지만
    //getLocation()을 부르면 자식메서드를 부르게 된다.
    //가까운 것을 부름 
    String getLocation() {//선언부 변경x
        return "x:"+x+" y:"+y+" z:"+z;//내용만 변경가능
    }
}