Cамоучитель по VB.NET


Общие члены классов



Закрытые общие поля классов в сочетании со ReadOnly-свойствами очень удобны, но этим область применения ключевого слова Shared не исчерпывается. В классе можно объявлять общие свойства и методы. Как было показано на примере класса Math, при обращении к общим средствам класса указывается либо имя класса, либо имя конкретного экземпляра. Допустим, в класс Employee включается общая функция Calcul ateFICA, зависящая от двух открытых констант:

Public Const FICA_LIMIT As Integer = 76200

Public Const FICA_PERCENTAGE As Decimal = 0.062D

Функция CalculateFICA выглядит так:

Public Shared Function CalculateFICA(ByVal aSalary As Decimal) As Decimal

If aSalary > FICA_LIMIT Then

Return FICA_LIMIT * FICA_PERCENTAGE

Else

Return aSalary * FICA_PERCENTAGE

End If

End Function

Общие члены класса могут использоваться без создания экземпляров Empl oyee, только по имени класса. Пример:

System.Console.WriteLine(Employee.

CalculateFICA(100000))

С другой стороны, метод мджно вызвать и для конкретного экземпляра Employee:

System.Console.WriteLine

(Tom.CalculateFICA

(Tom.GetSalary())

Конструкторы тоже можно объявлять общими, для этого в объявление метода

New включается ключевое слово Shared. Общие конструкторы:

  • не обладают атрибутами Publiс или Private;
  • вызываются без параметров;
  • могут работать только с общими полями класса. Как правило, общие конструкторы применяются только для инициализации общих данных. Код общего конструктора выполняется при создании первого экземпляра указанного класса, перед вызовом всех остальных конструкторов.









Начало  Назад  Вперед