0
实现抽象方法的设计的最佳方式是什么,但是还必须从子类实现。这听起来此刻很生疏,所以我将举例说明:将部分实现添加到抽象方法
abstract class Foo {
abstract void update();
}
abstract class Bar {
void update() {
//Do something
update_();
//Do something else
}
abstract void update_();
}
所以基本上,我想办法一些实施添加到一个抽象方法不停止传播。我觉得简单地重命名该方法会产生不洁的代码。
解决此问题的最佳方法是什么?它只是重命名该方法?或者这种模式最好完全避免?
Foo的许多子类不是Bar的子类,但是,Bar中也有很多子类。如果我完全在Bar的子类中实现它,它会创建大量冗余代码。我在问是否有解决方案来解决这个问题。 –
这基本上是模板方法模式,这很好。您应该为update_方法找到一个更好的名称:一个说明方法应该做什么,并遵守标准命名约定。如果你不想让子类能够(或者意外)重写update()方法,它应该是final的。 –
你可以这样做吗?让'useUpdate()'调用'abstract update()'? – c0der