接口与抽象类的比较

 刚开始学C#的时候,有些不理解接口到底是什么?作用是什么?其实接口可以理解成“公共契约”,接口本身不带任何成员的执行方式(这点有些像抽象类)。接口是通过类的继承来实现定义的功能的实现方式,也就是说接口不能够实例化。接口也不能有构造函数(不能实例化的对象当然就无需构造函数),还有就是不允许包含运算符重载。
     抽象类的概念与C++的虚函数差不多,抽象类也是不能实例化的,类里面的抽象函数没有执行代码,必须在非抽象的派生类中重写。
     接口与抽象类相比较我认为接口更灵活,表现在一个实现类可以继承于多个接口,但只能继承一个抽象类。如果在应用中只是为了标准化类的功能,用接口来实现是最合适不过了。以上只是我个人的见解,不正确之处还望指教!

你可能感兴趣的:(抽象类)