Читайте также:
|
|
Классы могут поддерживать статические конструкторы. Поэтому если нужно гарантировать, что имя в статическом поле companyName всегда будет установлено в MyCompany, понадобится написать следующий код:
(этот код вставляем в проект EmployeeExample, класс Employee)
Задание!!!: протестировать, исправить возможные ошибки
Используя такой подход, нет необходимости явно вызывать свойство Company для того, чтобы установить начальное значение:
(этот код вставляем в проект EmployeeExample, метод Main)
Задание!!!: протестировать, исправить возможные ошибки
В завершение исследований инкапсуляции с использованием свойств С# следует запомнить, что эти синтаксические сущности служат для тех же целей, что и традиционные методы get/set. Преимущество свойств состоит в том, что пользователи объектов могут манипулировать внутренними данными, применяя единый именованный элемент.
5 Наследование в С#
Наследование — это аспект ООП, облегчающий повторное использование кода. Строго говоря, повторное использование кода существует в двух видах: наследование (отношение "является") и модель включения/делегации (отношение "имеет").
При установке между классами отношения "является" строится зависимость между двумя или более типами классов. Базовая идея, лежащая в основе классического наследования, заключается в том, что новые классы могут создаваться с использованием существующих классов в качестве отправной точки.
Рассмотрим это на примере. Предположим, что в дополнение к нашему классу Employee мы определили еще два производных класса: класс SalesPerson (продавец) и класс Manager (менеджер). В результате получится иерархия классов:
(этот код вставляем в проект EmployeeExample, пространство имен Employees)
Задание!!!: протестировать, исправить возможные ошибки
В данном примере оба производных класса расширяют функциональность базового класса, за счет добавления свойств уникальных для каждого класса. Производные классы автоматически унаследовали открытые члены базового класса Employee. Проверим это:
(этот код вставляем в проект EmployeeExample, метод Main)
Задание!!!: протестировать, исправить возможные ошибки
Дата добавления: 2015-07-25; просмотров: 95 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Статические свойства | | | SetFullName (fullName); |