vb.net与vb6.0的简单介绍( 三 )


一个namespace是类和组件的逻辑组合 , 其目的在于将.NET class按类别定义 。微软借用了C++ class packaging概念:namespace来描述这种组合 。.NET Framework中的组件被称为集合(assembly) 。全部.NET代码在数百个库文件(DLL)中定义 。Namespace把assembly中定义的类组织起来 。一个namespace可以包括多个assembly,一个assembly也可以在多个namespace中定义 。namespace树的根节点是System namespace 。在.NET Library中,每个class都在一组相似的类别中定义 。例如 , System.Data namespace只包括数据相关类 。同样,System.Multithreading只包括多线程类 。
在使用.NET支持的语言(如C#、VB.NET、C++.NET等)创建新应用程序时 , 你会注意到每个应用程序都被定义为一个namespace,而所有的class都归属于这个namespace 。通过引用这个namespace,其它应用程序就能存取这些class 。在.NET中,代码被编译为中间语言(Intermediate Language,IL),assembly中存储了IL代码、元数据和其它资源文件 。同一个assembly可以附属于一个或多个Exe/DLL 。所有的.NET库都存储在assembly中 。
1.7 VB.NET: 完全面向对象的编程语言抽象、封装、多态、继承是面向对象语言的四个基本属性 。VB6.0不支持继承,而VB.NET则不然 。所以,和C++一样 , VB.NET也是完全面向对象的编程语言 。
Class 和 ModuleVB.NET用Class...End Class语句对创建class 。每个VB.NET至少包括一个Module(模块) 。Module在Module…End Module语句对中实现 。应用程序的主要模块是Main方法,亦即应用程序入口点 。
和VB6.0相似的地方是,都可以使用Function/Sub关键字定义方法 。下面的例子显示了如何创建class、添加方法,并从主程序调用方法: Imports System
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
Console.WriteLine(cls.MyMethod)
End Sub
Class TestClass
Function MyMethod() As String
Return "Test Method"
End Function
End Class
End ModuleProperty属性(Property)是类变量的公共描述 。Property…End Property语句用以创建property 。属性的Get/Set方法分别用于取得和设置属性值 。下面的例子中,Data是TestClass的属性 。
Imports System
Imports System.Console
Module Module1
Sub Main()
Dim cls As TestClass = New TestClass
WriteLine(cls.MyMethod)
WriteLine(cls.Data)
cls.Data = "https://www.04ip.com/post/New Data"
WriteLine(cls.Data)
End Sub
End Module
Class TestClass
Private strData As String = "Some Data"
Function MyMethod() As String
Return "Test Method!"
End Function
' Adding Data property to the class
Public Property Data() As String
Get
Return strData
End Get
Set(ByVal Value As String)
strData = https://www.04ip.com/post/Value
End Set
End Property
重载VB.NET通过overload关键字支持方法重载 。使用这个关键字,你可以定义同名但不同参数的方法 。
类成员访问域
除了原有的Private和Public,VB.NET引入了几个新关键字 。全部访问域关键字列表如下:
关键字作用域
Private限于class内部
Public可以从class外访问
Friend限于class所属的应用程序内
Protected只能被class和其派生类访问
Protected Friend能被class、应用程序和派生类访问
继承继承是面向对象编程语言中最常用的技术 。继承让你能够重用类代码和功能 。
VB.NET支持继承,而VB6.0则不支持 。继承的好处在于你能使用任何人编写的类,从这些类派生自己的类 , 然后在自己的类中调用父类功能 。在下面的例子中,Class B派生自Class A,我们将从Class B中调用Class A的方法MethodA 。

推荐阅读