我们会用到类和其他类型。为了使应用程序更有条理性,可以将类组合为名字空间,微软的.NET Framework类库就是这样的。如果打开.NET Framework SDK文档中的.NET Framework Class Library,会看到其中有80多个名字空间,需要经常乃至的重要的名字空间包括System、System.IO、System.Drawing、System.Windows.Forms等。例如,在Employee类的PrintSalary方法中,我们就使用了System名字空间中的Console类。
如果要在程序中使用名字空间,可以首先导入它,以便在以后每次使用其成员时无需重复该名字空间的名字。例如:可以将表4、5中的代码改写为下面表6中形式:
导入名字空间
Imports System
Class Employee
Dim salary As Decimal = 40000
Dim yearlyBonus As Decimal = 4000
Public Sub PrintSalary()
'' print the salary to the Console
Console.Write(salary)
End Sub
Public Shared Sub Main()
Dim employee As Employee
employee = New Employee()
employee.PrintSalary()
End Sub
End Class
好了,我们现在就可以在PrintSalary方法使用Console类而无需引用名字空间,因为我们已经导入这个名字空间了。
我们还可以在不同的名字空间中拥有相同名字的类。要正确地使用一个类,通常的做法是在一个类的前面使用名字空间的名字。例如,可以以System.Console的方式使用System名字空间中的Console类。
访问类型
在很多情况下,我们都会将编写好的类提供给别人,供他们使用它提供的功能,例如,他们可以调用类的一个方法或者访问其中的一个域。面向对象编程的一个最大的好处是开发人员可以方便地控制对类成员的访问,这意味着我们可以完全控制想让别人使用的部分。我们可以使一个方法可以被别的开发人员使用,也可以使一个类成员只能在该类中被访问。 在VB.NET中,访问是分等级的。下面我们来讨论这些等级:
pPublic:Public类成员没有访问限制。在一个类成员前面添加Public关健字就使得它可以被随意访问。例如,Employee类中的PrintSalary方法就是一个public方法,可以从任何地方对它进行访问。
Private:秘密的类成员只能被该类内部的其他成员访问。使用Private关健字就可以使一个类成员成为秘密的。
Protected:被保护的类成员只能被该类的派生类和该类本身内部进行访问。使用Protected关健字就可以使类成员成为被保护的类成员。
Friend:具有friend级访问限制的类成员只能在定义该类的程序内部使用,使用Friend关健字就能使类成员具有friend级访问限制。
Protected friend:这是protected和friend二种访问类型的组合。这些不同的访问类型使面向对象编程具有了信息隐慝能力。也就是说,我们可以使用这些访问类型保护不愿意让别人访问的信息。
静态成员
我们再来看看表4、5、6中的Employee类,也许读者会对我们没有将System.Console类实例化就使用它的