首先,我是C#开发人员哈哈!
我的程序中有一个名为Game的抽象类,它有一些方法可以执行更新和渲染游戏等操作。我只是想知道,如果在扩展类中调用超级方法是正确的,还是我还应该使用其他东西?
public void initialize()
{
// Do a bunch of stuff here
// and call the base method
super.initialize(); // Is this proper coding convention for abstract classes, or should I use something different?
}
答案 0 :(得分:2)
抽象类可以扩展其他类(抽象或不抽象),因此这是有效的。
public class MySuperClass {
public String getString(){
return "Hello";
}
}
public abstract class MyClass extends MySuperClass{
public String getString(){
return super.getString() + " world !";
}
}
你不能调用此方法,如果在超类中它被定义为抽象。它并不取决于abstract class
,而取决于abstract method
public abstract class MySuperClass {
public abstract String getString();
}
发出编译错误:
MySuperClass中的抽象方法getString()无法直接访问
答案 1 :(得分:0)
一般意义上它既不“恰当”也不“不合适”。您是否能够或应该这样做完全取决于您(或其他人)如何设计超类。如果您正在设计超类,那么您需要做的是决定:
基本上由你决定......