C#virtual,override,new学习 收藏
Virtual:
virtual 关键字用于修饰方法、属性、索引器或事件声明,并使它们可以在派生类中被重写。
默认情况下,方法是非虚拟的。不能重写非虚方法。
virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。
Override:
override 方法提供从基类继承的成员的新实现。由 override 声明重写的方法称为重写基方法。重写的基方法必须与 override 方法具有相同的签名。
重写的基方法必须是vitural,override,abstract类型的 ,不能重写非虚方法或是静态方法
所以override不能与vitural,new,static同时使用
override 属性,声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且被重写的属性必须是 virtual、abstract 或 override 的。(注意:这里是属性,不是字段,字段是不能被重写的)
New:
用于创建对象和调用构造函数。
使用 new 修饰符可以显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用 new 修饰符修饰它。
在 C# 中,派生类可以包含与基类方法同名的方法。