OK、これは私に何度も起こったので、コミュニティに尋ねたほうがよいでしょう。何かをインスタンスとして宣言するか is-a 継承として宣言する (およびサブクラスのインスタンスを宣言する) のどちらが適しているかを判断する際に、しばしば問題が生じます。
例えば、
public class BaseStation{
public BaseStation( int x, int y ){
this.x = x;
this.y = y;
}
public void setX( int x ){ this.x = x; }
public void setY( int y ){ this.y = y; }
private int x;
private int y;
}
変更されないis-aと変更される is staticBaseStation
- a の場合、位置が変更されるたびに を呼び出して、静的および動的 BaseStation を個別のオブジェクトとして宣言することはできませんか? しかし、そうすることでオブジェクト指向の原則に違反する気がします。BaseStation
(x,y)
dynamicBaseStation
BaseStation
(x,y)
dynamicBaseStation
setX
setY
では、基本的に、余分な作業のように感じる場合、継承を使用するかどうかをどのように決定すればよいでしょうか?