我觉得
1、接口要比基类更加灵活,你的类只要实现了某一接口,调用这便可以利用该接口实现多态访问,在
组件化开发中很常用,由组件规范定义者去定义一个接口,所有的开发人员去实现这个接口就OK了,而基
类的方式相对比较死板,但有一些比较通用的方法就可以不必在子类中重写了。二者不能够说谁的功能更
强大,只是根据需要选用。例如.net框架中的TextBox,Label等是从WebControl继承过来,采用基类的方式
,而SqlConnection和OracleConnection实现IDbConnection的接口,这样程序就可以使用IDbConnection
接口去访问不同类型的数据库。
2、基类定义了方法里的一些实现,而接口只定义了应该具有什么方法,而没有定义方法的具体实现。在C#中
一个类只能有一个基类,但可以实现多个接口。
3、基类只是被其它类继承的类.如果A继承自B,那么B就是A的基类了.
而接口,只是说明,或者说描述了应该有些什么方法,属性等.具体的实现要在继承自该接口的类来实现的。