【发布时间】:2013-07-22 13:00:14
【问题描述】:
根据我的经验,我认为以下是正确的。如果我遗漏了一个重点,请告诉我。
界面:
接口中声明的每个方法都必须在子类中实现。接口中只能存在事件、委托、属性 (C#) 和方法。一个类可以实现多个接口。
抽象类:
只有抽象方法必须由子类实现。抽象类可以具有带有实现的普通方法。除了事件、委托、属性和方法之外,抽象类还可以具有类变量。由于C#中不存在多重继承,一个类只能实现一个抽象类。
所以即使是这种差异也不能解释问题
1) 如果你有一个只有抽象方法的抽象类怎么办?这与界面有何不同?
2) 如果接口中有一个公共变量,那与抽象类有什么不同?
所以任何解释都会有不同的帮助。
【问题讨论】:
-
不知道你说的两个是什么意思。
-
抽象类中可以有受保护的抽象方法
标签: c# oop interface abstract-class