实现类比抽象类(父类)多操作的设计问题

03-11-17 birdy.chen


public abstract class P{
  public abstract void operateA()
  
  public P getInstance(){
    // 返回实现类
  }
}

public class C{
  public void operateB(){
  }
  
  public void operateA(){
  }
}
<p>

对于A的operateA可能有多个类实现,C是其中的一个,但用C会用到operateB(也是public的),而其他的实现类种用不到operateB。这样用P.getInstance()的时候必须重新造型,这样以后换其他实现类时还有造型的问题。但不想设计的太复杂,怎么才能简单,又有利于扩展吗

猜你喜欢