abstract、interface、virtual、sealed
sealed修饰符:
1.密封类,使得该类不能被继承
2.sealed修饰符不能与abstract修饰符一起使用,因为abstract修饰符就是指定某个类为基类用来被继承的。
abstract修饰符:
1.可以用来修饰类、方法、属性等
2.在类声明中使用abstract修饰符,该类只能被用作基类,且不能被实例化。
3.抽象类中可以包含抽象方法和抽象访问器。
4.标记为抽象或包含在抽象类中的成员必须通过该抽象类的派生类来实现
5.可以在派生类中使用override来重写抽象方法或抽象属性
5.只允许在抽象类中使用抽象方法
6.抽象方法不能与static、virtual修饰符一起使用
7.抽象方法没有方法体
virtual修饰符:
1.可以用来修饰方法、属性等
2.允许在派生类中使用override关键字进行方法或属性重写
3.派生类中不重写虚方法或虚属性,则直接使用基类中的方法或属性
4.virtual修饰符不能与static、abstract、private、override修饰符一起使用
interface修饰符:
1.接口可以看作是抽像类的变异体,接口中的所有的方法默认为抽像方法
2.根据第1条,所以接口中的所有方法都必须在派生类中被实现
3.一个类可以从一个或多个接口继承