Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Инкапсуляция с использованием традиционных методов доступа и изменения

Пример 1. | Свойства, доступные только для чтения и только для записи | Статические свойства | Статические конструкторы | SetFullName (fullName); | Ключевое слово sealed | Ключевые слова virtual и override | Абстрактные классы | Полиморфный интерфейс | Сокрытие методов |


Читайте также:
  1. III. Множественные изменения стволовых рефлексов
  2. IV. Порядок изменения и расторжения Договора
  3. IV. Установление методов и технологии ремонта ТС
  4. IX. Данные лабораторных и инструментальных методов исследования.
  5. V. Изменения в челюстно-лицевой области
  6. VI. ПОРЯДОК ИЗМЕНЕНИЯ И РАСТОРЖЕНИЯ ДОГОВОРА
  7. А) Для изменения направления потоков продукта

 

Рассмотрим класс Employee. Если необходимо, чтобы внешний мир мог взаимодействовать с полным именем сотрудника, по традиции понадобится определить методы доступа (метод get) и изменения (метод set). Роль метода get состоит в возврате вызывающему коду значения лежащих в основе статических данных. Метод set позволяет вызывающему коду изменять текущее значение лежащих в основе статических данных при условии соблюдения бизнес-правил.

Для целей иллюстрации инкапсулируем поле fullName. Для этого к существующему классу Employee следует добавить показанные ниже общедоступные члены. Обратите внимание, что метод SetName() выполняет проверку входящих данных, чтобы удостовериться, что строка имеет длину не более 15 символов. Если это не так, на консоль выводится сообщение об ошибке и происходит возврат без изменения значения поля fullName.

(этот код вставляем в проект EmployeeExample, класс Employee)

Задание!!!: протестировать, исправить возможные ошибки

 

Эта техника требует наличия двух уникально именованных методов для управления единственным элементом данных. Для иллюстрации модифицируем метод Main() следующим образом:

(этот код вставляем в проект EmployeeExample, метод Main)

Задание!!!: протестировать, исправить возможные ошибки

 

Благодаря коду в методе SetName(), попытка присвоить строку длиннее 15 символов приводит к выводу на консоль жестко закодированного сообщения об ошибке.

 


Дата добавления: 2015-07-25; просмотров: 97 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Построение цепочки вызовов конструкторов с использованием this.| Инкапсуляция с использованием свойств .NET

mybiblioteka.su - 2015-2024 год. (0.006 сек.)