[英]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.