这是场景 - >假设有 3 个类,我想做一些类似的事情:
public class GameObject {
public void updateBounds() {
// do something
}
}
public abstract class Enemy extends GameObject {
public abstract void updatePosition(){ //<-- this will not compile,
//but this is what i want to do, to force
//child to override parent method
updateBounds();
}
}
public class Minion extends Enemy {
@Override
public void updatePosition() {
super.updatePosition(); // <-- how do i throw an exception if this line
// is not called within this method of the
// child?
// now do something extra that only Minion knows how to do
}
}
- 您如何设计 Enemy 类以使其具有执行某些操作但需要每个孩子都覆盖它的方法?
- 您如何强制孩子(必须重写该方法)也调用父母的方法?
这几乎就像 Activity
具有 onCreate、onStart、onResume 等的 Android 类。方法是可选的,但如果你使用它,它会强制你调用 super. 它不能是抽象的,因为我希望在调用方法时运行一些代码(仅在父类的方法中)。如果你知道他们是怎么做到的,你会加分吗?