科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB.NET面向对象的程序设计语言

VB.NET面向对象的程序设计语言

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文表述了在vb.NET中运用面向对象原理编程的基本方法,本文没有全面涉及vb.NET面向对象编程,本文仅仅是一个开始。

作者:Crystal编译 来源:yesky 2007年11月11日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
 访问类型

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

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

  在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 。类中非静态成员称为实例成员。
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章