Иллюстрированный самоучитель по VB.NET



Общие данные в классах - часть 2


m_Salary = curSalary

m_EmployeeID = m_EmployeeID + 1

End Sub

Readonly

Property Employeeld() As Integer

Get

Employeeld = m_EmployeeID

End Get

End Property

End Class

Ниже приведена небольшая программа для тестирования класса Empl oyee, а также полный код класса с общим полем:

Option Strict On Module Modulel

Sub Main()

Dim Tom As New Employee("Tom". 100000)

System.Console.WriteLine(Tom.TheName & "is employee! " & _

Tom. Employee ID & "with salary " & Tom.SalaryO)

Dim Sally As New Employee("Sally". 150000)

System.Console.WriteLine(Sally.TheName & "is employee!" & _

Sally.EmployeeID &"with salary "SSally.Salary())

System.Console.WriteLine("Please press the Enter key")

System.Console.Read()

End Sub

End Module

Public Class Employee

Private m_Name As 'String

Private m_Salary As Decimal

Private Shared m_EmployeeID As Integer = 1

Public Sub New(ByVal theName As String.ByVal curSalary As Decimal)

m_Name = thename

m_Salary = curSalary

m_EmployeeID = m_EmployeeID + 1

End Sub Readonly Property Employeeld()As Integer

Get

Employeeld = m_EmployeeID

End Get End Property Readonly

Property TheName() As String

Get

TheName = m_Name

End Get . End Property Readonly

Property Salary () As Decimal

Get

Salary = m_Sa1ary

End Get

End Property

End Class

Обращения к константам в классах не отличаются от обращений к общим полям, но при объявлении констант вместо Shared используется ключевое слово Const. Конечно, объявление открытых констант не приводит к нарушению инкапсуляции.

Не путайте общие данные со статическими. Общие данные существуют в одной копии для всех экземпляров класса, поэтому с точки зрения экземпляров они неявно обладают глобальной видимостью. Статическими называются переменные, состояние которых просто запоминается для повторного использования. Статическими могут быть объявлены как общие, так и обычные поля класса.




Содержание  Назад  Вперед