| 网站首页 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> .NET技术 >> VB.NET >> VB.NET技术资料 >> 正文
  ►  VB.NET面向对象的程序设计语言
VB.NET面向对象的程序设计语言
作者:Crystal编译    阅读人次:……    文章来源:Yesky    发布时间:2004-10-8    网友评论()条
 

 

访问类型

  在很多例子中,当你写出一个类后,你要将类提供给其他人访问并且使用它的功能,他们可调用这个类的方法或者访问类的域。面向对象编程的一大好处是可以对类成员的访问进行限制。这就意味作,你能够完全控制想显示的内容。

  你可以让其他程序员访问类中的方法,也可以不让其他程序访问,除非是来自类的内部。

  在vb.NET中有几个级别的访问控制,详细请看下表:
 
 

Public Public类成员没有访问限制。构造public类成员是在类成员名前面使用关键字public,所有人均可访问public成员。例如,Employee类中的PrintSalary方法是一个公有方法,能够被任何人和函数调用。
Private Private类成员只能被类内部访问,使用Private关键字声明私有化类成员。
Protected 保护成员能被类内部成员和他的继承类访问,使用关键字Protected定义保护成员。
Friend 友员访问限制在声明该类的程序中,使用关键字Friend声明一个友员。
Protected friend protected和friend的结合。


  在面向对象编程中不同的访问限制提供了不同的信息隐藏方式,从另外一个方面来说,你可以保护你不想显示的类成员变量。

  静态成员

  我们再看一次list4,list5,list6中的Employee类,你可能会感到惊奇为什么我们在使用System.Console的write方法前没有实例化这个类?这是因为在面向对象语言中有一种特殊的成员类型--静态成员,在vb.NET中术语share与c++中的static有相同作用。

  静态意味作成员可以使用而用不作实例化,例如,在list7中SalaryLevel类提供了静态域。

 

Listing 7:
Class SalaryLevel
 Public Shared Level1 As Decimal = 35000
 Public Shared Level2 As Decimal = 40000
 Public Shared Level3 As Decimal = 45000
 Public Shared Level4 As Decimal = 50000
 Public Shared Level5 As Decimal = 55000
 Public Shared Level6 As Decimal = 60000
 Public Shared Level7 As Decimal = 65000
 Public Shared Level8 As Decimal = 70000
 Public Shared Level9 As Decimal = 75000
 Public Shared Level10 As Decimal = 80000
End Class


  那么我们可以在程序中使用这个类,如list8

 

Listing 8: 使用类的静态成员

Imports System

Class SalaryLevel
 Public Shared Level1 As Decimal = 35000
 Public Shared Level2 As Decimal = 40000
 Public Shared Level3 As Decimal = 45000
 Public Shared Level4 As Decimal = 50000
 Public Shared Level5 As Decimal = 55000
 Public Shared Level6 As Decimal = 60000
 Public Shared Level7 As Decimal = 65000
 Public Shared Level8 As Decimal = 70000
 Public Shared Level9 As Decimal = 75000
 Public Shared Level10 As Decimal = 80000
End Class

Class Employee

 Dim yearlyBonus As Decimal = 4000

 Public Sub PrintSalary()
  ’ print the salary to the Console, use
  ’ the static field of SalaryLevel
  Console.Write(SalaryLevel.Level4)
 End Sub

 Public Shared Sub Main()
  Dim employee As Employee
  employee = New Employee()
  employee.PrintSalary()
End Sub

End Class

  
  在Employee类的PrintSalary方法中,我们没有创建SalaryLevel类的对象就使用了SalaryLevel的静态域Level4 。类中非静态成员称为实例成员。

上一页  [1] [2] [3] [4] [5] [6] 下一页

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章: 没有了

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子