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




public abstract class P{
public abstract void operateA()

public P getInstance(){
// 返回实现类
}
}

public class C{
public void operateB(){
}

public void operateA(){
}
}

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