ign="justify"> Методи віконують превращение для даного класу чи про єкту. Метод представляет собою закінчений фрагмент коду, до которого можна звернута за іменем. Синтаксис Опису методу:
[модіфікаторі] тип імя_методу ([параметри])
{
Тіло методу
}
Перший рядок оголошення - заголовок. ВІН винен обов язково мати тип значення, Який Повертає метод, ім я, за Яким будут Звертатися до методу. Тіло методу часто є блоком Операторів. Метод может НЕ повертаті значень, может повертаті значення значущих типом або про єкт. Параметри, оголошені в заголовку, назіваються формально. Значення, что передаються в метод при его виклику, назіваються аргументами . Є два способи передачі аргументів - за значення І за Ваші відповіді. При Першому способі значення аргументу копіюється в формальних параметрів методу. При іншому параметру методу передається посилання на агентство аргумент. Для простих тіпів на зразок double чі int в C # за замовчуванням вікорістовується перший способ. Для об'єктів неявно вікорістовується другий способ. Недоліком методів є ті, что смороду могут повертаті Одне значеня. Альо є ситуации, коли нужно повернути декілька значень, або пердаті простий тип за Ваші відповіді. Для явної передачі параметра за Ваші відповіді при его оголошенні перед типом вікорістовується модіфікатор ref. При виклику такого методу перед відповіднім аргументом такоже винен стояти цею модіфікатор. Для того, щоб метод повернувши декілька значень, їх треба занести в список формальних параметрів та знову ж таки перед їх типом вікорістаті модіфікатор out. Виклик відбувається аналогічно до попередня варіанту. При передачі такий параметр может буті неініціалізованім. Такоже методу можна передаваті змінне число параметрів, тобто масив параметрів помощью модіфікатора params. Можна повертаті з методу масив, тоді в заголовку после типом ставлять квадратні дужки: []. Метод может сам собі віклікаті, реалізовуючі Механізм рекурсії. Виклик методу відбувається за Наступний схемою:
Рис. 2 Виклик методу
Особлівістю методів є ті, что Їм неявно передається прихований параметр this. Це посилання на агентство екземпляр класу, что віклікав Дану функцію. У явному виде застосовується, щоб повернути з методу посилання на агентство вікліканій про єкт або для ідентіфікації поля, если воно співпадає з ім ям параметру.
Властивості слугують для организации доступу до полів класу. Як правило, Властивості зв язані Із Закритого полями класу та визначаються методи Отримання і встановлення значення у него. Для доступу до Властивості Використовують СПЕЦІАЛЬНІ процедури доступу - Аксесорія . Аксесорія set містіть код, Який віконується при встановленні значення Властивості. Аксесорія get містіть код, что віконується при чітанні значення Властивості. Властівість может мати только процедуру для читання (get), тоді вона доступна только для читання. Если є лишь процедура запису (set), тоді властівість лишь для запису.
У Аксесорія set неявно передається параметр value, Який містіть значення, Пожалуйста винне прісвоюватісь полю. Оголошення Властивості таке:
[модіфікаторі] тип ім я_властівості
{
{код для читання з поля}
{код для запису в поле}
}
Подія - елемент класу, что дозволяє Йому надсилати ПОВІДОМЛЕННЯ про зміну свого стану іншім про єктам. ЦІ про єкти повінні мати методи ОБРОБКИ події. Колі вінікає Подія, віклікаються всі ее обробнікі. Синтаксис події:
[модіфікаторі] event тип ім я_події
Перевантажені оператори Використовують для визначення операцій, что могут Проводити над об'єктами даного класу. Для перевантаження операцій вікорістовується ключовими словами operator, что візначає операторний метод, Який візначає дію оператора відносно даного класу. Оператори є унарні та бінарні. Оголошення перевантаження оператора Виглядає Наступний чином: public static тип operator конкретній_оп. (тіп_парам. операнд 1 [, тіп_парам. операнд 2])
{
операции
}
Індексатор дозволяє Звертатися до об єкту класу як до елєментів масиву. Оголошення та ідеологоія роботи така, як у Властивості, проти індексатор НЕ має имени. Замість него вікорістовується ключовими словами this. Если в класі є частное поле - масив, ...