LoginSignup
0
0

extends(継承)その1

Last updated at Posted at 2023-09-06

クラスの継承

class Parents {
    public String fieldA = "field A";
    public String methodA() {
        return "method A";
    }
}

class Child extends Parents {
    public String fieldB = "field B";
    public String methodB() {
	    return "method B";
    }
}

ChildクラスはParentsクラスのフィールドやメソッドを継承元の親から引き継いで自分自身で定義しているような動作を行える

class Child {
    //Parentsクラスをコピーしている
    public String fieldA = "field A";
    public String methodA() {
	    return "method A";
    }

    public String fieldB = "field B";
    public String methodB() {
	    return "method B";
    }
}

継承を活用することで、このように共通のデータ(フィールド)や処理(メソッド)を親クラスにまとめて定義することができる

継承の特徴 オーバーライド

子クラスで親クラスと同一のメソッドを定義するとオーバーライド(親クラスのメソッドを子クラスで再定義)できる

    // 親クラスのメソッドをオーバーライドする。
    @Override
    public String methodA() { 
        return "method A in Child";
    }
@Override
メソッドをオーバーライドさせるという使命を持たせることができる

利点
・メソッド名の誤記などを防止できる
・オーバーライドしたつもりができていなかった、といったうっかりミスを事前に防ぐことができ予期せぬバグの防止になります。

その1の結論

・継承とは親クラスのフィールドやメソッドを子クラスで再利用するための便利な方法

参考書籍
すっきりわかるJava入門

メソッドをオーバーライドする時にOverrideアノテーションをつけるべき理由
https://qiita.com/NagaokaKenichi/items/9ee033e218f08aa605a4

is-a関係

継承関係(「である」の関係)を表す言葉です。たとえば、
「動物は生物である」、「哺乳類は動物である」といった表現に使用されます。

たとえばですが、「A is-a B」は「AはB(の一種)である」ことを示します。
is-a関係は、クラス間の関係(継承関係)で上位と発生し、上位となる抽象的なクラスをスーパークラスといい、下位の具体的なクラスをサブクラスといいます。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0