转:abstract、virtual、override…
来源:互联网 发布:access编程实例 编辑:程序博客网 时间:2024/06/09 15:39
10
11
12}
抽象类具有如下特征:
1、抽象类不能实例化,泛指一类事物。
2、抽象类可以包含抽象方法和抽象访问器。
3、不能用 sealed修饰符标示抽象类,这意味着抽象类不能被继承。
4、从抽象类派生的非抽象类必须包括继承的所有抽象方法和抽象访问器的实实现。
5、实现由一个重写方法override提供,此重写方法是非抽象类的一个成员。
6、在抽象方法声明中不能使用 static 或 virtual 修饰符。
7、除了在声明和调用语法上不同外,抽象属性的行为与抽象方法一样。
8、在静态属性上不能使用 abstract 修饰符。
9、在派生类中,通过包括使用 override 修饰符的属性声明,可以重写抽象的继承属性。
抽象类必须为所有接口成员提供实现
实现接口的抽象类可以将接口方法映射到抽象方法上。
例如:
{
}
abstract
{
}
例如:
{
}
备注:
1、调用虚方法时,将为重写成员检查该对象的运行时类型。将调用大部分派生类中的该重写成员,如果没有派生类重写该成员,则它可能是原始成员。
2、默认情况下,方法是非虚拟的。不能重写非虚方法。
3、virtual 修饰符不能与 static、abstract, private 或 override 修饰符一起使用。
4、除了声明和调用语法不同外,虚拟属性的行为与抽象方法一样。
5、静态属性上不能使用 virtual 修饰符。
6、通过包括使用 override 修饰符的属性声明,可在派生类中重写虚拟继承属性。
overrride:要扩展或修改继承的方法、属性、索引器或事件的抽象实现或虚实现,必须使用override 修饰符。
范例:同上面第1段代码范例。
备注:
1、override 方法提供从基类继承的成员的新实现。通过 override 声明重写的方法称为重写基方法。重写的基方法必须与override 方法具有相同的签名。
2、不能重写非虚方法或静态方法。重写的基方法必须是 virtual、abstract 或 override 的。
3、override 声明不能更改 virtual 方法的可访问性。override 方法和 virtual方法必须具有相同的访问级别修饰符。
4、不能使用修饰符 new、static、virtual 或 abstract 来修改 override 方法。
5、重写属性声明必须指定与继承属性完全相同的访问修饰符、类型和名称,并且被重写的属性必须是 virtual、abstract 或override 的。
总结:
- 转:abstract、virtual、override…
- 【转】abstract、virtual、override、new說明
- abstract、virtual、override 和 new(转)
- abstract、virtual、override、new
- abstract&virtual&override
- abstract virtual override 虚基类
- abstract、virtual与override
- abstract、virtual、override、new說明
- c#中的virtual/override/abstract
- abstract、virtual、override、new说明
- abstract、virtual、override、new说明
- virtual、override、static、abstract、sealed
- abstract、virtual、override、new说明
- new virtual abstract sealed override
- abstract、virtual、override 和 new
- abstract、virtual、override 和 new
- abstract virtual override new 小记
- c#virtual,abstract,new,override
- 转:浅谈协方差矩阵
- 转:C#多线程编程简述
- 转:C#索引器
- android 监控cpu
- 转:C#中base关键字的几种用法
- 转:abstract、virtual、override…
- 转:c#接口和抽象类的区别
- 转:C#中调用Windows API时的…
- dumpsys SurfaceFlinger 的堆栈信息(调用关系)
- c#中配置文件(app.config)的使用
- acm竞赛小结2
- Windows驱动总结
- air编译ios程序的分辨率问题
- acm算法基础2 递归,分治和贪心