よろしくお願いします。
簡単なコードから
java
1 2public class A{ 3 4protected int a; 5protected int a2; 6 7 8public void setA(int a){ 9 10 this.a= a; 11 12 } 13public void setAa(int aa){ 14 15this.aa = aa; 16 17 } 18} 19 20 21//Aを継承 22public class B extends A { 23 24protected int b; 25 26super.setA(b); 27 28} 29 30//Aを継承 31public class C extends A { 32 33protected int c; 34 35super.setAa(c); 36} 37
という感じでB,CともにAを継承しています。
まずは、継承について質問させていただきます。
継承は、派生(能力の付加等)で使われていることはわかりました。
しかし、使うとprotectedは便利で、メインとサブの情報のやり取りが自由なのでどちらかというと接続といった感じだと捉えていましたが、最近、やはり派生か・・と。というのも
上記のコードで言えば
B←A→C という考えだったものが結局は__new__ で作るインスタンスとほぼ変わらず、Aの初期クラスを個々に派生する
A→B A→C という考えに至りました。
この認識で合っていますかというのが一つ。
この考えに至った経緯とともにセッターについての質問をさせていただきます。
簡単に言えばA経由でCからBの変数にアクセスしよう思ったがAの変数int a値が初期値だったため、派生元は同じだが別々に存在すると考えました。つまり、私の考えている
セッターで受け取った値の変数aと変数aaを派生元で比較しbooleanで結果を返すことは不可能かというのが二つ。
最後はゲッターのタイミングです。
セッターとゲッターが存在しますが、例えば
java
1private int y; 2 3public int getY(){return y;} 4 5public void setY(int y){this.y =y;} 6
と単純なものがあったとして、セッターが値を受け取ったときのゲッターはその値を返してくれるのでしょうか、それとも初期値を返しますかというのが三つ目です。
お手数お掛けします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2017/06/21 14:18
2017/06/21 14:27