VB.NET面向对象展现新能力

开发 后端
VB.NET面向对象的特点是非常突出的,比如抽象,封装,多态,继承,覆盖,重载,隐藏,继承的防止等等。下面大家就对此进行一个详细的介绍。

VB.NET这样一款由微软公司推出的编程语言,其功能是比较强大的。尤其是在面向对象方面,展现了非常重要的作用。面向对象的编程在VB4.0以后的版本已经使用。不幸的是,一些VB.NET面向对象的特点比如说继承、方法重载、方法覆盖等并没有实现。#t#

VB.NET中,VB语言成为了完整的OO语言。一般说来,OO的编程语言支持四个主要的特点:

◆Abstraction抽象

◆Encapsulation封装

◆Polymorphism多态

◆Inheritance继承

让我们概括的了解一下VB.NET的OO特点:

抽象:

VB从VB4开始支持抽象。VB.NET面向对象的第一步是有关实体的问题。在这里,提取对象必要信息的过程我们称为数据抽象。

封装:

封装允许我们隐藏类内部的完成细节。将数据和功能绑定到一起被称为封装。这是界面和实现分离的概念。封装也在VB4后实现。

多态:

多态也在VB4中实现。多态是VB.NET面向对象系统中允许我们有多个不同的功能用同样名字的特性。功能的不同之处在于传递给它们的参数不同。事实上,VB通过两种方式支持多态

1、通过后期绑定

2、通过多界面的执行

继承:

.NET平台的一个大的提高就是使用继承的能力。VB5引入“interface inheritance”使VB开发者能够在一定程度上扩展已有对象。但是只能访问接口而不是底层的执行。
继承就是一个类能够得到一个现有的类的所有接口和行为。这样一个类被称为子类。

当我们构造一个新类,它继承已有类的接口和行为,我们就创建了一个类的子类。

举一个VB5或VB6的例子,你可以创建一个"Employee",它有一些向姓名,地址等的属性。如果你想创建一个象 “Worker”,“ Officer”的新类或者别的什么,你不能简单的扩展已有的Employee类。作为替代,你可以选择复制代码到新的对象,或者使用委派技术,在VB.NET中我们拥有完全的继承。你可以继承Employee类,包括所有的正确代码包括效验、读取、存储。你可以为每一个Employee添加单独的特点。如果你需要改变标准的行为,你也可以覆盖、重载或隐藏基类的方法和属性。

覆盖:

使用同样的名字替换基类的方法或属性。

重载:

添加新的不同参数的实现方法。

隐藏:

替换基类中同样名字的属性。

继承也适用于象forms和controls之类的虚类。这可以使VB.NET创建一个基本的Form,包含corporate logos, standard menus, help systems等,然后继承它们,创建一个特定的Form,拥有与其他Form一样的外观和感觉。

  1. Option Strict On Imports System.
    Windows.Forms   
  2. Public Class Employee Protected   
  3. Count As Int32 '' available to 
    descendants but not public   
  4. Public Overridable   
  5. Sub funct1 ()   
  6. Count += 1   
  7. MessageBox.Show ("Employee 
    funct1: " & Count.ToString, 
    "Employee.funct1", MessageBox
    Buttons.OK)  
  8. End   
  9. Sub Public Overridable   
  10. Sub funct2() Count += 1   
  11. MessageBox.Show("Employee funct2: 
    " & Count.ToString, "Employee.
    funct2", MessageBoxButtons.OK)  
  12. End Sub   
  13. End   
  14. Class Public   
  15. Class Officer Inherits Employee 
    Public Overrides   
  16. Sub funct2 () Count += 1   
  17. MessageBox.Show ("Officer: " 
    & Count.ToString, "Officer.
    funct2", MessageBoxButtons.OK)  
  18. End   
  19. Sub Public   
  20. Sub special () ''The function 
    only for Officer  
  21. . Count += 1   
  22. MessageBox.Show("Officer''s 
    special: " & Count.ToString, 
    "Officer.special",  
    MessageBoxButtons.OK)    
  23. End Sub   
  24. End   
  25. Class Module Module1   
  26. Sub Main()   
  27. Dim arun As officer arun = 
    New officer()  
  28. officer.funct2   
  29. '' will call the method 
    defined in Officer officer.funct1   
  30. '' will call the method 
    defined in Employee   
  31. End Sub   
  32. End Module  

防止继承:

我们创建的类默认的可以被作为基类使用。有时我想创建一个类,但是不能被继承。

我们可以在类的声明时添加“NotInheritable”关键字:

  1. Public NotInheritable 
    Class arungg …… End Class  

当使用这个类时,没有别的代码可以使用Inherits关键字创建一个我们类的子类。 

结论:

在VB.NET中,VB语言终于完整的转变为彻底的OO语言。我们现在有完整的inheritance,以及其他的特性。VB.NET不止是提供给我们完整的VB.NET面向对象的特性,也改变我们以往使用VB6的一些方法。

责任编辑:曹凯 来源: IT168
相关推荐

2009-06-29 10:50:18

VB.NET面向对象能力

2009-10-13 17:03:55

VB.NET面向对象

2009-11-02 16:22:16

VB.NET面向对象

2009-10-13 14:19:03

VB.NET面向对象编

2009-10-13 11:28:39

VB.NET面向对象编

2009-10-14 13:21:46

VB.NET Acco

2009-11-04 13:12:33

VB.NET面向对象编

2009-10-09 15:59:41

VB.NET对象

2009-11-03 13:54:55

VB.NET继承

2009-10-12 16:39:59

OracleTransVB.NET使用

2010-01-22 13:28:13

VB.NET对象克隆

2009-10-23 14:06:07

VB.NET类对象

2010-01-12 18:05:38

VB.NET对象

2009-10-30 11:20:54

VB.NET Proc

2009-11-03 09:37:33

VB.NET重载

2009-10-26 17:53:50

VB.NET新窗体

2010-01-21 16:17:32

VB.NET文件对象

2009-11-03 13:33:39

VB.NET对象列表

2009-10-20 17:38:20

VB.NET exce

2009-10-12 16:51:28

VB.NET使用Ora
点赞
收藏

51CTO技术栈公众号