[MSDN转载]Visual Basic 语言概念--阴影操作和重写之间的差异
2007-08-09 13:03
288 查看
最近复习OO概念,不想在VB2005里头挖出这么个以前不注意的东西来,把帮助文件的内容贴上来,作为备忘.
Visual Basic 语言概念
阴影操作和重写之间的差异
请参见
当您定义从基类继承的类时,有时会需要重定义派生类中的一个或多个基类元素。隐藏和重写均可用于此目的。
下表对隐藏和重写进行了比较。
1“调用序列”包括元素类型(Function、Sub、Operator 或 Property)、名称、参数列表和返回类型。不能用属性重写过程,或是用过程重写属性。您不能用一种过程重写另一种过程(Function、Sub 或 Operator)。
2 如果不指定 Shadows 或 Overrides,则编译器会发出一条警告消息,以帮助您确定要使用哪种重定义。如果忽略该警告,则使用隐藏机制。
3 若隐藏元素在后来的派生类中不可访问,则没有继承隐藏。例如,如果将隐藏元素声明为 Private,则从派生类派生的类就会继承原始元素而不是隐藏元素。
您要定义多态性派生类。
您需要安全地让编译器强制执行相同元素类型和调用序列。
隐藏通常用在以下情况下:
您希望可以修改基类并使用您的名称定义元素。
您希望可以随意更改元素类型或调用序列。
如何:区分两个名称相同的元素
如何:隐藏与您的变量同名的变量
如何:隐藏继承的变量
如何:访问被派生类隐藏的变量
参考
Shadows
Overrides
概念
当多个变量具有同一名称时解析引用
Visual Basic 中的阴影操作
其他资源
对已声明元素的引用
要提出有关“帮助”或本产品其他功能的建议或错误报告,请转到反馈站点。
Visual Basic 语言概念
阴影操作和重写之间的差异
请参见
当您定义从基类继承的类时,有时会需要重定义派生类中的一个或多个基类元素。隐藏和重写均可用于此目的。
比较
隐藏和重写很容易混淆。二者都在派生类继承基类时使用,并且都是用另外的元素重定义一个已声明的元素。但二者之间有重大区别。下表对隐藏和重写进行了比较。
1“调用序列”包括元素类型(Function、Sub、Operator 或 Property)、名称、参数列表和返回类型。不能用属性重写过程,或是用过程重写属性。您不能用一种过程重写另一种过程(Function、Sub 或 Operator)。
2 如果不指定 Shadows 或 Overrides,则编译器会发出一条警告消息,以帮助您确定要使用哪种重定义。如果忽略该警告,则使用隐藏机制。
3 若隐藏元素在后来的派生类中不可访问,则没有继承隐藏。例如,如果将隐藏元素声明为 Private,则从派生类派生的类就会继承原始元素而不是隐藏元素。
准则
重写通常用在以下情况下:您要定义多态性派生类。
您需要安全地让编译器强制执行相同元素类型和调用序列。
隐藏通常用在以下情况下:
您希望可以修改基类并使用您的名称定义元素。
您希望可以随意更改元素类型或调用序列。
请参见
任务如何:区分两个名称相同的元素
如何:隐藏与您的变量同名的变量
如何:隐藏继承的变量
如何:访问被派生类隐藏的变量
参考
Shadows
Overrides
概念
当多个变量具有同一名称时解析引用
Visual Basic 中的阴影操作
其他资源
对已声明元素的引用
要提出有关“帮助”或本产品其他功能的建议或错误报告,请转到反馈站点。
相关文章推荐
- 我对D3D中的顶点缓存的概念感到迷惑,特别是其分配和锁定的操作,不知道这些名称的含义是什么(转载)?
- 转载 编码人员,程序员,开发人员和软件工程师之间的差异 你是哪种?
- C#中父窗口和子窗口之间实现控件互操作 (转载)
- .Net FX 2.0 中文语言包 与 英文包 在 Sql Server 日期操作的 差异。[Conversion failed when converting datetime from character string.]
- .NET组件和COM组件之间的相互操作(转载)
- <转载>C#中父窗口和子窗口之间实现控件互操作
- [转载]子父窗口之间的操作之小例子
- [转载]不同服务器数据库之间的数据操作--复制同步(整理版)
- [转载]pda 和pc 之间的文件操作(利用Microsoft ActiveSync同步文件数据)
- C 语言中getch()、getche()和getchar()函数之间的区别以及缓冲区的概念
- “计算机语言概念”与“具形对象”之间对对应关系系统
- 转载:C#中操作XML文件(读写改删全接触) 跟其它语言操作XML差不多一样
- 【转载】编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 方法重载与方法重写的概念和区别(转载)
- 转载:R语言Data Frame数据框常用操作
- (MSDN)VB.NET的强大和C#语言的比较【转载】
- c和java语言之间的差异(摘录)
- [转载] 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别
- 不同服务器数据库之间的数据操作(转载)
- (转载)Javascript操作表单之间的数据传递