你目前正处于脱机状态,正在等待 Internet 重新连接

如何定义和使用属性,在 Visual Basic.net 中或 Visual Basic 2005 中

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 308230
为这篇文章的一个 Microsoft Visual C#.net 版本,请参阅 319265
概要
许多面向对象的编程语言的一个重要目标是使您可以封装在类中的内部详细信息。Visual Basic.net 或 Visual Basic 2005 可定义属性来提供了受控的访问类中的内部详细信息。本文介绍了如何,您可以定义,并在 Visual Basic.net 或 Visual Basic 2005 应用程序中使用属性。

一个属性可以是只读、 只写或读写。Get 访问器提供了读取权限和 Set 访问器提供写访问权限。您可以将代码添加到这些访问器以提供要获取或设置该属性的相应功能。

此本文中,您将创建一个名为 雇员 的类。在此类中,您定义读写属性,该员工、 要读取的员工,薪金的属性和属性来计算该员工长为公司工作的名称。然后,可以在应用程序中创建 员工 的对象,并使用其属性。

back to the top

要求

下面的列表概述了建议的硬件、 软件、 网络的基础结构和所需的服务包:
  • Microsoft Visual Studio.net 或 Microsoft Visual Studio 2005
本文假定您熟悉下列主题:
  • Visual Basic.net 或 Visual Basic 2005 语法
  • 面向对象的概念
back to the top

创建包含一个 Visual Basic.net 或 Visual Basic 2005 类应用程序

  1. 启动 Visual Studio.net 或 Visual Studio 2005,并创建名为 EmployeeProperties 一个新的 Visual Basic.net 或 Visual Basic 2005 控制台应用程序项目。
  2. 项目 菜单上单击 添加类添加新项 对话框中 名称 文本框中键入 Employee.vb,然后单击 打开

    注意可视有关 Studio 的 2005 年单击 添加,代替 打开
  3. 检查新类别在代码视图窗口中的代码。
back to the top

定义字段、 构造函数,和方法

  1. 将三个 专用 字段添加到 雇员 类中,如下所示:
    Private Name As StringPrivate Salary As DecimalPrivate HireDate As DateTime					
  2. 为要如下所示初始化字段在 雇员 类中的类定义构造函数:
    Public Sub New(ByVal Name As String, _               ByVal Salary As Decimal, _               ByVal HireDate As DateTime)   Me.Name = Name   Me.Salary = Salary   Me.HireDate = HireDateEnd Sub					
  3. 公共 方法,如下所示添加到类,:
    Public Sub PayRise(ByVal Amount As Decimal)   Me.Salary += AmountEnd Sub					
back to the top

在类中定义属性

  1. 添加以下代码以添加一个名为 FullName 的读写属性。Get 访问器返回员工的姓名。Set 访问器使用 参数传递到设置该员工的姓名 Set 访问器
    Public Property FullName() As String   Get      Return Me.Name   End Get   Set(ByVal Value As String)      Me.Name = Value   End SetEnd Property					
  2. 添加以下代码以添加一个名为 Remuneration 的只读属性。Get 访问器返回员工的薪水。没有没有 Set 访问器,因为不能直接设置工资 ; 调用 PayRise 方法是唯一的方法更改工资
    Public ReadOnly Property Remuneration() As Decimal   Get      Return Me.Salary   End GetEnd Property					
  3. 添加以下代码以添加另一个名为 DaysSinceJoined 的只读属性。Get 访问器计算该员工工作公司的多少天
    Public ReadOnly Property DaysSinceJoined() As Integer   Get      Dim timespan As TimeSpan = DateTime.Now.Subtract(Me.HireDate)      return timespan.Days   End GetEnd Property					
back to the top

创建对象和使用属性

  1. 在代码视图窗口中的 Module1.vb 显示代码。
  2. Main 方法中使用 New 运算符创建 员工 的对象。将该对象引用赋给一个本地的 雇员 变量,如下所示:
    Dim worker As New Employee( "Jayne Doe", _                             125000, _                             New DateTime(1998, 7, 31) )					
  3. 添加以下代码以更改员工 FullName 属性。这将隐式调用 FullName 属性的 Set 访问器
    worker.FullName = "Jayne Lafayette"					
  4. 添加以下代码以显示员工的详细信息,通过使用 全名Remuneration,和 DaysSinceJoined 属性的 Get 访问器:
    Console.WriteLine("Full name: " & worker.FullName)Console.WriteLine("Remuneration: " & worker.Remuneration)Console.WriteLine("Days since joined: " & worker.DaysSinceJoined)					
back to the top

测试应用程序

  1. 生成并运行该应用程序。
  2. 在控制台中 ("天数因为联接"的值取决于当前日期),应用程序将显示以下信息:
    Full name: Jayne LafayetteRemuneration: 125000Days since joined: 1139						
  3. 返回到 Module1.vb 文件在代码视图窗口中和 Main 方法的末尾添加下面的代码:
    worker.Remuneration = 1000000					
  4. 尝试生成该应用程序。您将收到编译错误,因为 Remuneration 是只读的属性。
  5. 更改该语句,如下所示:
    worker.Salary = 1000000					
  6. 尝试生成该应用程序再次。您将收到另一个编译错误,因为在 工资 字段被标记为 私有。若要修改该雇员的薪金唯一的方法是使用公用 PayRise 方法。
back to the top

属性

文章 ID:308230 - 上次审阅时间:12/06/2006 23:18:59 - 修订版本: 3.3

Microsoft Visual Basic 2005, Microsoft Visual Basic .NET 2003 标准版, Microsoft Visual .NET 2002 标准版

  • kbmt kbvs2005applies kbvs2005swept kbhowtomaster KB308230 KbMtzh
反馈