Ватсон Карли
Шрифт:
Методы класса Employee
В классе
Единственным новым элементом синтаксиса здесь является инструкция
В C# тот же самый результат получают, добавляя параметр в инструкцию
эквивалентна в действительности следующему коду VB:
Метод
Эта переопределенная версия выводит имя и зарплату сотрудника. Новым элементом синтаксиса является то, что метод специально объявлен как
Мы завершили пример класса
Статические члены
Мы упоминали несколько раз, что в C# классы имеют специальные методы, называемые статическими, которые можно вызвать, не создавая экземпляр объекта. Эти методы не имеют никакой аналогии в VB. Фактически, статическими могут быть не только методы, но и поля, свойства или любые другие члены класса.
Термин статический имеет совершенно другое значение в C#, чем в VB.
Чтобы проиллюстрировать, как работают статические члены и почему их необходимо использовать, давайте представим себе, что мы хотели бы, чтобы класс Employee поддерживал извлечение названия (имени) компании, в которой работает каждый сотрудник. Здесь имеется существенное различие между названием компании и именем сотрудника, так как каждый объект сотрудника представляет обособленную единицу, и поэтому необходимо хранить различные имена сотрудников. Это обычное поведение переменных модулей классов в VB и поведение по умолчанию полей в C#. Но если организация купила программное обеспечение, которое содержит класс
В этом коде объявлено еще одно поле, но, помечая его как
Мы также объявили это поле используемым только для чтения. Такое указание имеет смысл, потому что название компании, так же как имя сотрудника, не должно меняться после запуска программы.
Конечно, одного объявления этого поля не достаточно. Необходимо также убедиться, что оно инициализируется правильными данными. Где это нужно сделать? Ясно, что не в конструкторе — конструктор вызывается всякий раз при создании объекта