全面剖析VB.NET(3)

QB_服务团

QB_服务团

2016-01-29 12:07

全面剖析VB.NET(3),全面剖析VB.NET(3)
三、完善的面向对象支持
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方法的默认实现:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/vb/)


Public Class ForkLift
Inherits Crane

Overrides Sub Lift(ByRef _
Height As Double)
Height = Height + 10
End Sub
End Class

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/vb/)


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图标,可视化继承使得我们能够设计一个窗体模板(类),需要时只需从这个基类继承就可以得到新的对话窗口。

展开更多 50%)
分享

猜你喜欢

全面剖析VB.NET(3)

vb
全面剖析VB.NET(3)

全面剖析VB.NET(4)

vb
全面剖析VB.NET(4)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

全面剖析VB.NET(5)

vb
全面剖析VB.NET(5)

全面剖析VB.NET(6)

vb
全面剖析VB.NET(6)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

全面剖析VB.NET(7)

vb
全面剖析VB.NET(7)

全面剖析VB.NET(2)

vb
全面剖析VB.NET(2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在MDI程序中实现类似WPS2000的文件切换标签

在MDI程序中实现类似WPS2000的文件切换标签

JBuilder2005实战JSP之创建数据库表(8)

JBuilder2005实战JSP之创建数据库表(8)
下拉加载更多内容 ↓