好的,这已经发生在我身上很多次了,所以我不妨问问社区。我经常遇到一个问题,即决定将某物声明为实例还是作为 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;
}
现在,如果staticBaseStation
is-a不会改变并且is-a会改变,我不能在每次位置更改时将静态和动态BaseStation
BaseStations声明为带有调用的单独对象吗?但是我觉得这样做违反了OO原则。(x,y)
dynamicBaseStation
BaseStation
(x,y)
dynamicBaseStation
setX
setY
所以基本上当感觉就像额外工作时,我如何决定是否使用继承?