当前位置: 代码迷 >> 综合 >> C# 中 类和类中方法的继承关系abstract sealed virtual override 和 new
  详细解决方案

C# 中 类和类中方法的继承关系abstract sealed virtual override 和 new

热度:13   发布时间:2024-01-25 00:30:55.0

1、abstract 修饰符可以和类、方法、属性、索引器及事件一起使用(待实现)。修饰类时表示抽象类,只能作为其他类的基类,不能被实例化,可以包括抽象方法和抽象访问器,从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实现;

 

2、sealed不能修饰抽象类,修饰一般类时表示该类不能被继承;

 

3、virtual只能修饰基类的方法和属性(表示继承类可重写),不能修饰类(C#不允许多重继承,不存在虚基类),不能与static   abstract   override修饰符一起使用;

 

4、override,继承类的基类有需属性和方法时,可利用override重写属性和方法,和基类有继承关系;(用基类申明新实例时,虚方法的实现优先使用继承类的重写方法)

 

5、new,可以让继承类实现对基类同名方法的覆盖,申明是一个新方法,和基类没有继承关系。(用基类什么新实例时,虚方法的实现优先使用有继承关系的方法。)

  相关解决方案