【初心者】Java質問・相談スレッド118【歓迎】at TECH
 【初心者】Java質問・相談スレッド118【歓迎】 - 暇つぶし2ch24:14
08/08/11 16:26:09
>>15
んっと、提示されたAとBのgetメソッドの違いは、
「振る舞いの違い(=継承で書き換えるべきもの)」
ではないということを言いたかった。
プロパティとして持たせてあげれば、Bのgetメソッドはいらない。

そのプロパティを設定するのは、静的ならコンストラクタ内になる。
まあ、一番キミが聞きたいとこからはずれてるので、気にしなくていいが、

class A {
private String ob="obj a"; //デフォルト

public String getObjectName(){ //ゲッタ
return ob;
}

protected void setObjectName(String name){//セッタ
this.ob=name;
} }


class B extend A{

B(){
super();
setObjectName("obj b"); //静的ならここ書く。
} }

今回はどうせBを作る需要があるということなので、こんな感じ。
ただgetObjectName()の戻りを変えたいだけなら、setObjectNameを
公開するか、コンストラクタ引数にする。それだけのためのクラスは不要。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch