[MSDN转载]Visual Basic 语言概念--阴影操作和重写之间的差异

简介:

最近复习OO概念,不想在VB2005里头挖出这么个以前不注意的东西来,把帮助文件的内容贴上来,作为备忘.

Visual Basic 语言概念

阴影操作和重写之间的差异

请参见

当您定义从基类继承的类时,有时会需要重定义派生类中的一个或多个基类元素。隐藏和重写均可用于此目的。

比较

隐藏和重写很容易混淆。二者都在派生类继承基类时使用,并且都是用另外的元素重定义一个已声明的元素。但二者之间有重大区别。

下表对隐藏和重写进行了比较。

重写和隐藏的比较

1“调用序列”包括元素类型(Function、Sub、Operator 或 Property)、名称、参数列表和返回类型。不能用属性重写过程,或是用过程重写属性。您不能用一种过程重写另一种过程(Function、Sub 或 Operator)。

2 如果不指定 Shadows 或 Overrides,则编译器会发出一条警告消息,以帮助您确定要使用哪种重定义。如果忽略该警告,则使用隐藏机制。

3 若隐藏元素在后来的派生类中不可访问,则没有继承隐藏。例如,如果将隐藏元素声明为 Private,则从派生类派生的类就会继承原始元素而不是隐藏元素。

准则

重写通常用在以下情况下:

  • 您要定义多态性派生类。

  • 您需要安全地让编译器强制执行相同元素类型和调用序列。

隐藏通常用在以下情况下:

  • 您希望可以修改基类并使用您的名称定义元素。

  • 您希望可以随意更改元素类型或调用序列。

请参见

任务
如何:区分两个名称相同的元素
如何:隐藏与您的变量同名的变量
如何:隐藏继承的变量
如何:访问被派生类隐藏的变量
参考
Shadows
Overrides
概念
当多个变量具有同一名称时解析引用
Visual Basic 中的阴影操作
其他资源
对已声明元素的引用

Footer image

要提出有关“帮助”或本产品其他功能的建议或错误报告,请转到反馈站点

作者: 徐少侠
出处: http://www.cnblogs.com/Chinese-xu/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。
如有问题,可以通过 Chinese_Xu@126.com 联系我,非常感谢。

分享家:Addthis中文版

本文转自徐少侠博客园博客,原文链接:http://www.cnblogs.com/Chinese-xu/archive/2007/08/09/849090.html,如需转载请自行联系原作者
目录
打赏
0
0
0
0
20
分享
相关文章
函数形状的定义方式在编程中可以有多种,具体取决于使用的编程语言和上下文。以下是几种常见的定义方式:
函数形状的定义方式在编程中可以有多种,具体取决于使用的编程语言和上下文。以下是几种常见的定义方式:
75 3
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
JavaScript开发中ES6+新特性:解释箭头函数的作用以及它与普通函数的区别。
92 1
Extjs中给一个组件命名时,id,name,hiddenName这三者的用法和区别是什么
Extjs中给一个组件命名时,id,name,hiddenName这三者的用法和区别是什么
【Unity细节】RigidBody中Dynamic和Kinematic的区别
【Unity细节】RigidBody中Dynamic和Kinematic的区别
171 0
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
155 0
什么是 SVG?本项目简单分享动画入门的相关知识,并附有相关代码演示,同时文档对SVG等相关内容有比较详细的叙述,如vector标签中属性所代表的意义解释、path标签所支持的指令解释等等。
[Flutter]足够入门的Dart语言系列之面向对象:类之间的6大关系
无论是面向对象编程,还是面向过程、函数式编程,代码与代码之间的组织关系都是最重要的。通过代码的编写、代码间的相互调用、不同代码的合理使用、集合不同的数据和方法,才能...
299 0
[Flutter]足够入门的Dart语言系列之面向对象:类之间的6大关系
谈谈C++新标准带来的属性(Attribute)
从C++11开始,标准引入了一个新概念“属性(attribute)”,本文将简单介绍一下目前在C++标准中已经添加的各个属性以及常用属性的具体应用。
谈谈C++新标准带来的属性(Attribute)
【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
168 0
艾伟:Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想
在 WPF 中,我们可以方便的在全局范围定义一个样式,就可以应用到所有这种类型的对象,这就是所谓的隐式样式(implicit Style),比如: WPF中定义样式 Button aButton b 这样之后,两个按钮就都变成了浅蓝色的背景。
1014 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等