2. В цьому модулі:
Що таке властивість;
Синтаксис оголошення властивостей;
Приклад використання властивостей;
Поняття індексатора;
Створення одномірних індексаторів;
Створення багатомірних індексаторів;
Перевантаження індексаторів;
2
Andrey Gladky
KspDevelop@gmail.com
3. Що таке властивість
Властивості відносять до групи методів класу.
представляють собою метод, який забезпечує як можливість
присвоєння значень приватним даним класу, так і зчитування їх
значень за необхідністю.
Основою властивості являється поле
Властивість виглядає як поле, веде себе як метод
Призначення властивості – можливість приховати особливості
реалізації класу
Властивості мають бути публічними
Andrey Gladky
KspDevelop@gmail.com 3
4. Синтаксис оголошення властивостей
get – для повернення значення
set – для присвоєння значення
value – містить значення що присвоюється
В get і set можна виконувати будь який набір команд
Типи поля і властивості можуть не співпадати
Andrey Gladky
KspDevelop@gmail.com 4
public int Var
{
get { return var; }
set { var = value; }
}
6. Приклади використання властивостей
Розглянемо наступний приклад. В ньому відображений клас
Employee з чотирма приватними полями, що позначають ім’я,
прізвище, вік і зарплату співробітника. Клас також включає
перевантажений конструктор з параметрами і без параметрів. Для
кожного із полів класу передбачено властивість з двома
аксесорами. У властивостях реалізована додаткова перевірка
заданих значень. Ім’я та прізвища приводяться до верхнього
регістру, вік перевіряється на приналежність інтервалу
допустимих значень, зарплата не може бути від’ємною
величиною. Перевантажений метод ToString() дозволяє
роздрукувати стан об’єкта.
Andrey Gladky
KspDevelop@gmail.com 6
8. Поняття індексатора
Ще одна рідкість мови C#, що представляє собою одночасно спосіб
перевантаження оператора [ ] (але без ключового слова operator) і
різновид властивості (ще її називають, властивість з параметрами).
Індексатори застосовуються для доступу до одних об’єктів так, наче вони
являються елементами класу користувацької колекції, а з іншої, наче вони
і є та сама колекція.
Синтаксис оголошення індексатора наступний
Тип – тип об’єктів колекції
This – посилання на об’єкт в якому з'являється індексатор
Тип аргументу – представляє індекс об’єкта в колекції, індекс не
обов’язково цілочисельний, і може бути будь якого типу
В кожного індексатора повинен бути як мінімум один аргумент, але їх
може бути і більше
Andrey Gladky
KspDevelop@gmail.com 8
тип this[тип аргументу] {get; set; }
12. У класі Indexer визначити індексатор для
початкового масиву. Вивести в програмі на екран
елементи масиву через індексатор. Додати в Indexer
ще один масив і визначити індексатор і для нього.
Вивести на екран значення елементів другого масиву
через індексатор. Другий масив ініціалізувати при
описі ( тобто НЕ в конструкторі).
Andrey Gladky
KspDevelop@gmail.com 12