1 回答

TA貢獻1802條經驗 獲得超4個贊
我會將所有常見方法移至A1另一個抽象級別(我們稱之為ABase),并聲明A1它們A2的特殊行為(如果有)。
這樣,如果C3添加更多相同類型的類,則不需要再次重新定義methodA。
public interface I1 {
public void methodA();
}
public abstract class ABase implements I1 {
//other methods
}
public abstract class A1 extends ABase {
public void methodA(){
//default behaviour
}
}
public abstract class A2 extends ABase {
public void methodA(){
//default behaviour
}
}
public class C1 extends A1 {
//do nothing regarding methodA, because the default behaviour in A1 is desired
//other methods
}
public class C2 extends A1 {
//do nothing regarding methodA, because the default behaviour in A1 is desired
//other methods
}
public class C3 extends A2 {
//do nothing regarding methodA, because the default behaviour in A2 is desired
//other methods
}
添加回答
舉報