【发布时间】:2020-12-07 20:44:56
【问题描述】:
有人告诉我,在下面的代码中使用 instanceof 是不好的做法,因为它变得重复并且难以扩展。虽然我对 Java 很陌生,并没有立即看到我的替代方案是什么,你会建议我做什么来摆脱实例和抽象代码?
void moveit(Vehicle car) {
if(car instanceof Volvo240){
volvoPoint.x = (int) car.getXCoordinate();
volvoPoint.y = (int) car.getYCoordinate();
}
if(car instanceof Scania) {
scaniaPoint.x = (int) car.getXCoordinate();
scaniaPoint.y = (int) car.getYCoordinate() + 100;
}
if(car instanceof Saab95) {
saabPoint.x = (int) car.getXCoordinate();
saabPoint.y = (int) car.getYCoordinate() + 200;
}
repaint();
}
【问题讨论】:
标签: java oop instanceof