• 您的位置我爱Aspx >> VB.Net >> VB.NET中的类
  • VB.NET中的类

  • 作者:aspxer  来源:internet  日期:2007-5-20 14:01:44  关键字:.net
  • 按照VB6对类构造器的实现限制,程序员不得给该方法添加参数。然而,VB.NET中则对构造器方法提供了参数支持。在VB.NET下,你现在可以随意地把参数添加到这个方法中来,甚至可以重载该方法。

    参数化的构造器如何灵活地创建类呢?举个例子,假设有一个ADO Connection类。用VB6语言的话,你首先得把该类实例化,然后在代码中用ConnectionString属性定义连接。要用VB.NET的话,这个类的构造器就被参数化和重载了,这样,在程序员给对象实例化时就可以给它传递一个连接字符串,这样你就不必关心代码内如何设置以后的连接了。当然,你完全可以按老办法做:什么参数都不传递,以后在代码中设置连接字符串。

    域和属性

    很多人在对属性的认识上产生了一些混乱的概念。其实属性这个东西绝非人们想象的那么复杂。让我们回到最基础的概念层次上来讨论属性:所谓属性其实就是暴露了读/写接口的类的内部所包含的一块数据。按照这个定义,你可能会认为你能在类中声明一个公共变量然后把它称为一个属性。当然,这种假设也不是没有一点道理,不过,类的公共变量所对应的技术术语应该是field(域)。域和属性之间的关键差别在于接口的包含性质上。现在暂时不对这一差别做具体解释咱们先明白其语法用途即可。

    在VB6中,属性由Let、Get和Set程序来定义和操作。而在VB.NET中语法就变了。属性被组织为单个Property代码块,其中针对属性的写(Set)和读(Get)操作设置了子代码块。这一程序起到了类的私有变量之上的抽象层作用。大多数人习惯于采用类似公共变量的方式命名这些私有变量,在它们前面加上小写的前缀字母m或者加上下划线区分所关联的属性(m前缀是VB6中继承下来的,意思是:“模块级变量”)。举一个例子:

    Private _ContactName As String

    Public Property ContactName()

    Get

    Return _ContactName

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:Auto Complete combo Box(VB.NET Source Use API)
    下一篇:Visual Basic 6/VBScript 與Visual Basic.NET 的比較(下)