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

Инкапсуляция с использованием свойств .NET

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


Читайте также:
  1. I. Оксиды их получение и свойства
  2. А) Температурой, выше которой начинается ухудшение свойств материала
  3. А. Физико-химические свойства белков
  4. Алгоритм подсчета пульса на лучевой артерии и определение его свойств
  5. Анализ провозной способности с использованием индексного приема сравнения
  6. Анализ свойств устойчивости систем управления
  7. Анализ эксплуатационных свойств автомобиля

Вдобавок к возможности инкапсуляции полей данных с использованием традиционной пары методов get/set, в языках .NET имеется более предпочтительный способ инкапсуляции данных с помощью свойств. Прежде всего, имейте в виду, что свойства — это всего лишь упрощенное представление "реальных" методов доступа и изменения.

Это значит, что разработчик класса по-прежнему может реализовать любую внутреннюю логику, которую нужно выполнить перед присваиванием значения. Ниже приведен измененный класс Employee, который теперь обеспечивает инкапсуляцию каждого поля с применением синтаксиса свойств вместо традиционных методов get/set.

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

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

 

Свойство С# состоит из определений контекстов чтения get (метод доступа) и set (метод изменения), вложенных непосредственно в контекст самого свойства.

Cвойство указывает тип данных, которые оно инкапсулирует, как тип возвращаемого значения. Кроме того, в отличие от метода, в определении свойства не используются скобки (даже пустые).

В контексте set свойства используется лексема value, которая представляет входное значение, присваиваемое свойству вызывающим кодом. Эта лексема не является настоящим ключевым словом С#, а представляет собой то, что называется контекстуальным ключевым словом. Когда лексема value находится внутри контекста set, она всегда обозначает значение, присваиваемое вызывающим кодом, и всегда имеет тип, совпадающий с типом самого свойства.

При наличии этих свойств вызывающему коду кажется, что он имеет дело с общедоступным элементом данных; однако "за кулисами" при каждом обращении вызывается корректный get или set, обеспечивая инкапсуляцию:

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

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

 


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


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

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