汉中市住建局建设厅网站官网,临沂手机网站建设,wordpress微信采集按钮,网站 快照 更新慢在C#中抽象类和接口是两个相当重要的概念#xff0c;深入理解对C#程序员是非常必要的#xff0c;现总结如下#xff1a;一、抽象类的特点#xff1a;1、抽象方法只用于方法的声明并不包含方法的实现#xff0c;可以看作没有实现实体的虚方法。2、抽象类不能进行实例化。3、… 在C#中抽象类和接口是两个相当重要的概念深入理解对C#程序员是非常必要的现总结如下一、抽象类的特点1、抽象方法只用于方法的声明并不包含方法的实现可以看作没有实现实体的虚方法。2、抽象类不能进行实例化。3、抽象类里面可以不包含抽象属性和抽象方法但如果包含抽象方法则该类必须声明为抽象类。4、具体的派生类必须覆盖基类的抽象方法。5、抽象类也可以派生另一个抽象类其中可以覆盖基类的抽象方法也可以不用覆盖但是不覆盖的话则其派生类比较覆盖它们。二、接口interface的特点1、接口也不能进行实例化。2、接口只能包含类的声明。3、成员可以包含属性、方法、事件和索引器。4、接口中不能包含常量、字段、构造函数、析构函数或静态成员。5、接口 中所有的成员都默认用public修饰符进行修饰不能出现private修饰符。6、派生类比较实现接口所有的成员。7、一个可以继承多个接口接口之间用 , 分割。8、一个接口可以有多个父接口实现该接口的类必须实现所有父接口中的所有成员。三、抽象类和接口的相同之处1、都不能被实例化。2、都可以被继承。3、都可以包含方法声明。4、派生类必须实现抽象类接口中未实现的方法。四、抽象类和接口的不同之处1、抽象类是一个不完整的类需要进一步细化接口只是一个行为的规范或规定。2、抽象基类可以定义字段、属性和方法实现接口只能定义属性、索引器、事件和方法声明不能包含字段。3、抽象类更多的是定义在一系列关系紧密的类之间接口大多定义在关系稀松但都实现某一功能的操作。4、接口不具有继承的任何特点。5、接口可以被多重实现抽象类只能被单一继承。6、接口支持回调抽象类不可以。7、抽象类不能密封。8、抽象类实现的具体方法默认为虚的但实现接口的类中的接口方法默认不是虚的当然也可手动声明为虚的。9、接口和非抽象类类似抽象类必须为在该类的基类列表中列出的接口的所有成员提供他自己的实现。但是允许抽象类将接口的方法隐射到抽象方法上。10、如果抽象类实现接口则可以把接口中的方法映射到抽象类中作为抽象方法而不必实现而是在抽象类的子类中实现接口中的方法。我的最新公众号欢迎关注一下