sealed, virtual, abstract, override
1. sealed,密封的意思,可以用来修饰类和方法。
- 密封类,表示该类不能被继承,密封方法,表示该方法不能被重写。
- sealed必须始终与override一起使用。
- 一般不把类或方法标记为sealed,这么做会限制他的使用。
2. virtual,虚拟的意思,可以用来修饰方法和属性。
- 虚方法可以有自己的实现,派生类中可以通过override重写基类的虚方法。
- virtual不可与static, abstrack, override一起使用
3. abstract, 抽象的意思,可以用来修饰类,方法, 属性, 索引器,事件。
- 抽象类只能是其他类的基类;
- 只允许在抽象类中使用抽象方法;
- 抽象函数没有执行代码,必须在非抽象的派生类中重写;
4. override,重写的意思, 可以用来修饰方法, 属性, 索引器或事件。
- 用来覆盖/实现通过virtual、abstract修饰的成员;
- 重写的方法必须与基方法有相同的签名;