三、完善的面向对象支持
vb.net提供了完善的面向对象编程支持,是一种真正的oo语言。
完善的面向对象支持应该包括封装(encapsulation),继承(inheritance)和多态性(polymorphism)。当前的vb6已经部分地实现了这些支持,但仍因某些地方未能符合标准而受到责难。
封装是指对象只显露公用的方法和属性。vb6已经提供了健壮的封装支持,具体通过public和private关键词实现,这两个关键词既可以用于方法,也可以用于属性。vb.net进一步完善了vb6的封装支持,增加了一个protected关键词。
多态性即为“多种形态”,vb从4.0开始已经提供多态性支持,它在vb.net中没有什么变化。然而,由于vb.net中类支持两种类型的继承——接口继承和实现继承,多态性将有更广泛的用途。
vb6已经支持一种称为接口继承(interface inheritance)的继承形式,vb.net支持实现继承(implementation inheritance)完善了继承机制。过去,我们用vb的接口继承模拟实现对象继承,但现在不必再采用这种模拟技术。正如其他面向对象的语言,在vb.net中我们可以覆盖基类的方法和属性,也可以借助多态性创建出健壮的、可升级的组件。例如,假设有一个从基类crane继承的forklift类,利用下面的代码可以覆盖基类中lift方法的默认实现:
public class forklift
inherits crane
overrides sub lift(byref _
height as double)
height = height + 10
end sub
end class
vb.net不仅允许覆盖方法或属性,而且还支持方法重载(overload)。重载是一种定义具有相同名字、不同数据类型的方法或者属性的能力。例如,假设有一个对不同数据类型的数组进行排序的组件,我们无需为它定义多个排序方法的名字(每种数据类型一个方法名字);相反,我们可以重载单个方法名字:
overloads sub sortarray(byref _
avalues()as string)
…
overloads sub sortarray(byref _
avalues() as integer)
…
overloads sub sortarray(byref _
avalues() as object)
在vb.net中,窗体以类模块形式出现。它意味着类本身包含了所有构造窗体所必需的代码。你可能会奇怪为什么vb.net中会看到这些代码而以前不行,事实上这个变化带来了许多强大的新功能,比如继承这些窗体的能力。microsoft称这种技术为“可视化继承”(visual inheritance)。假设我们为大多数对话窗口设计了一个标准的格式,比如窗体某一边有一列按钮、某个角上有一个logo图标,可视化继承使得我们能够设计一个窗体模板(类),需要时只需从这个基类继承就可以得到新的对话窗口。
全面剖析VB.NET(3)-.NET教程,VB.Net语言
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 全面剖析VB.NET(3)-.NET教程,VB.Net语言
相关推荐
-      VS2010的aspx文件中的html代码的格式化方法
-      .net 反序题目的详细解答第1/2页
-      asp.net创建html文本文件实例
-      比较完整的 asp.net 学习流程
-      C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页
-      官网 Ext direct包中.NET版的问题
-      c# 连接字符串数据库服务器端口号 .net状态服务器端口号
-      asp.net教程:简单的C#图片上传代码或C#文件上传代码