[英]java abstract class inheritance
我有一个抽象类,该类在她的子类中扩展:
小例子:
public abstract class Foo{
//plus constructor and other stuff.
public abstract void differentTypeOfImplementation();
public void doSomething(Foo foo){
//do something with the generic Foo object passed
}
}
我希望您对这种实施方式有意见,
问候。
这个问题可能太开放了,但是您的解决方案很好。
另一种选择是,您可以使接口具有differentTypeOfImplementation(),然后使实用程序类具有doSomething。 这样,您的子类也可以从其他类扩展。 但是,如果子类可能偶尔覆盖doSomething,或者doSomething需要访问对象的内部状态,那么您拥有的是完全有效的。
在抽象类中实现方法是非常有效且可以接受的设计。 如果此方法实现对其所有子类都是必需的,那么这就是方法。 但是,在您的示例中-该方法的签名使它变得几乎没有一点可疑-似乎您没有以任何方式使用超类状态。 这意味着您最好将此方法声明为static
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.