文档详情

关于VB.NET------外文翻译.doc

发布:2017-09-14约2.45万字共17页下载文档
文本预览下载声明
关于VB.NET 前言 Microsoft .NET平台所包含的内容非常广泛而且很难预测它的真正意义。我们注意到,现在有很多关于.NET的不正确的理解,因此在这篇文章里,我们要特别地细看一下分析VB.NET面向对象功能,底层体系的变化,对应用部署和封装支持方面的增强等。我们将讨论这些功能能为你做什么,解释他们的优点与不足。、完善的面向对象支持?? 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中我们可以覆盖基类的方法和属性,也可以借助多态性创建出健壮的、可升级的组件。 ?? ?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图标,可视化继承使得我们能够设计一个窗体模板(类),需要时只需从这个基类继承就可以得到新的对话窗口。?1、维护简单 模块化是面向对象编程中的一个特征。实体被表示为类和同一名字空间中具有相同功能的类,我们可以在名字空间中添加一个类而不会影响该名字空间的其他成员。 2、可扩充性 面向对象编程从本质上支持扩充性。如果有一个具有某种功能的类,就可以很快地扩充这个类,创建一个具有扩充的功能的类。 3、代码重用 由于功能是被封装在类中的,并且类是作为一个独立实体而存在的,提供一个类库就非常简单了。事实上,任何一个.NET Framework编程语言的程序员都可以使用.NET Framework类库,.NET Framework类库提供了很多的功能。更令人高兴的是,我们可以通过提供符合需求的类来扩充这些功能。 二、对象的广泛应用 ?? 代码重用简化了开发过程,而可视化继承之类的功能又使得代码重用更加方便。然而,代码重用并不局限于此。借助作为VB.NET基础的CLR(Common Language Runtime,公共语言运行时环境),我们可以在VB.NET中继承其他VS.NET语言编写的类。例如我们可以编写一个C#类,然后在VB.NET类中继承该C#类。 ?? ?VB.NET的面向对象功能已经向各个方向扩展,甚至深入到了语言本身——在VB.NET中,一切都是对象。它意味着和以前的VB版本相比,我们从VB.NET本身获得的支持和功能要多得多,求助于Windows API的时候将更少。例如,在以前的VB版本中,我们用LoadPicture方法装入一个图形,用Line方法(或者其他速度更快的API函数)画线;而在VB.NET中,我们用System.Drawing对象创建和处理图形。下面这段代码用Sy
显示全部
相似文档