问大家个接口实现的问题
我是初学者,问错了请大家多多指教~
如果我有一个类A,A实现了一个接口IA,
而A的派生类B要实现接口IB,这时如果IB继承与IA会发生什么啊?
------解决方案--------------------类A实现了接口IA,那么类A的子类类B也就包含了接口IA,如果仅仅类B实现了接口IB,类A是不会包含IB这个接口的.
------解决方案--------------------public interface IA
{
string getA();
}
public interface IB:IA
{
string getB();
}
public class A:IA
{
public string getA(){return this.GetType().Name+ "getA ";}
}
public class B:IB
{
public string getA(){return this.GetType().Name+ "getA ";}
public string getB(){return this.GetType().Name+ "getB ";}
}
如果B派生A,只要实现IB接口的声明,因为A已经实现了
public class B:A
{
public string getB(){return this.GetType().Name+ "getB ";}
}
IA a=new A();
IA b1=new B();
IB b2=new B();
A b3=new B();
以上看明白了吗,B它实现了IA,IB和A,它既可以是IA也可以是IB,当然还有它的父类A
------解决方案--------------------TO:如果我有一个类A,A实现了一个接口IA,
而A的派生类B要实现接口IB,这时如果IB继承与IA会发生什么啊?
由于A实现了接口IA,而B又继承A,所以B自然也就从A继承了对于IA的实现,又B实现了IB...
所以综上可知,A仅实现IA,而B中既包括IA的实现,也包括IB的实现....
楼主所说的 "如果IB继承与IA会发生什么啊 "是指什么啊?