【初心者】Java質問・相談スレッド118【歓迎】
at TECH
24: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
4468日前に更新/268 KB
担当:undef