摘要:
C#中的抽象基类(Abstract Class)和接口(Interface)都实现了面向对象中的继承机制,它们通过定义抽象方法匀实现了对继承类的功能上的约束,那么在如何在恰当的场景选择恰当的继承机制是我们在设计中经常会遇到的问题,我们先来对比两者之间的区别与联系。 相同点 都可以被继承。 本身都不能被实例化 不同点 抽象类是一个不完整的类,需要进一步细化;而接口只是一个行为上的规范。 抽象基类不能实现多继承,而接口可以实现多继承。 抽象基类可以定义字段、属性、包含有实现的方法。接口可以定义字段、索引器、事件但不能定义字段和包含实现的方法。 共性、个性与选择 有的书上写到C#中推荐使用接口(In 阅读全文