接口解决不料这个问题。问题具体在这里:
Vector v = new Vector();
v.add(new A());
v.add(new B());
v.add(new C());
Enumeration e = v.elements();
while(e.hasMoreElements()){
//问题在这里,Type在程序中没办法决定是什么
Type tmp = (Type) e.nextElement();
//A,B,C所实现的接口show()
tmp.show();
}
接口,是不行的。共同的超类可以,例如三个类的超类都是D,那么Type是D就行了,根据多态的理论,tmp会自动调用合适的show()。
但,a,b,c的功能差别太大了,除了show()方法的功能有相似之处。所有肯定不能让他们继承同一个超类。