多くの保護されたメソッドを定義する基本クラスを作成しました。これらのメソッドは、そのサブクラスで呼び出されます。メソッドは、そのサブクラスの基本的な操作を定義します。例えば:
class Base{
protected void foo(){}
protected void bar(){}
}
class Sub1 extends Base{//The sub class only needs Base.foo()
public void po(){
...
foo();
...
}
}
class Sub2 extends Base{//The sub class only needs Base.bar()
public void ko(){
...
bar();
...
}
}
class Sub3 extends Base{//The sub class needs both Base.bar() and Base.foo()
public void lo(){
...
bar();
...
foo();
}
}
私はそれが良いOOPデザインであるかどうか疑問に思っていますか?ソースを読んでください、私たちはまったく必要ないことを知っSub1
ていますBase.bar()
、まったくSub2
必要ありませんBase.foo()
。ちょっと冗長だと思います。しかし、私はより良い解決策を知りません、誰かがいくつかのアドバイスを与えることができますか?ありがとう!