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