[MSDN转载]Visual Basic 语言概念--阴影操作和重写之间的差异
最近复习OO概念,不想在VB2005里头挖出这么个以前不注意的东西来,把帮助文件的内容贴上来,作为备忘.
Visual Basic 语言概念
阴影操作和重写之间的差异
当您定义从基类继承的类时,有时会需要重定义派生类中的一个或多个基类元素。隐藏和重写均可用于此目的。
比较
隐藏和重写很容易混淆。二者都在派生类继承基类时使用,并且都是用另外的元素重定义一个已声明的元素。但二者之间有重大区别。
下表对隐藏和重写进行了比较。
1“调用序列”包括元素类型(Function、Sub、Operator 或 Property)、名称、参数列表和返回类型。不能用属性重写过程,或是用过程重写属性。您不能用一种过程重写另一种过程(Function、Sub 或 Operator)。
2 如果不指定 Shadows 或 Overrides,则编译器会发出一条警告消息,以帮助您确定要使用哪种重定义。如果忽略该警告,则使用隐藏机制。
3 若隐藏元素在后来的派生类中不可访问,则没有继承隐藏。例如,如果将隐藏元素声明为 Private,则从派生类派生的类就会继承原始元素而不是隐藏元素。
准则
重写通常用在以下情况下:
-
您要定义多态性派生类。
-
您需要安全地让编译器强制执行相同元素类型和调用序列。
隐藏通常用在以下情况下:
-
您希望可以修改基类并使用您的名称定义元素。
-
您希望可以随意更改元素类型或调用序列。
请参见
任务
如何:区分两个名称相同的元素如何:隐藏与您的变量同名的变量
如何:隐藏继承的变量
如何:访问被派生类隐藏的变量
参考
ShadowsOverrides
概念
当多个变量具有同一名称时解析引用Visual Basic 中的阴影操作
其他资源
对已声明元素的引用
要提出有关“帮助”或本产品其他功能的建议或错误报告,请转到反馈站点。
出处:http://www.cnblogs.com/Chinese-xu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。
![分享家:Addthis中文版](http://addthis.org.cn/images/a1.gif)