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;
  • вызываются без параметров;
  • могут работать только с общими полями класса. Как правило, общие конструкторы применяются только для инициализации общих данных. Код общего конструктора выполняется при создании первого экземпляра указанного класса, перед вызовом всех остальных конструкторов.



Содержание раздела