Основы объектно-ориентированного программирования на языке C# book | Page 130

7 Класи MyElevator[1] = "second"; MyElevator[2] = "third"; for (uint i = 0; i < MyElevator.Size; i++) { Console.WriteLine("Number of floor is: {0}", MyElevator[i ]); } Console.ReadKey(); } } } У класi ElevatorWithIndexer ми оголосили масив рядкiв private string[] floor для зберiгання назви поверху й поле AmmountOfFloor для зберiгання кiлькостi поверхiв у будинку. Для оголошення маси- вiв також можна використовувати клас ArrayList бiблiотеки класiв .NET Framework , який призначений для зберiгання сукупностi об’є- ктiв. Конструктор public ElevatorWithIndexer(int Count) має па- раметр int Count для створення масиву рядкiв floor . У класi також з’явилася властивiсть public int Size . Вона призначена для повер- нення поточного розмiру масиву, коли це знадобиться програмi. Розглянемо докладнiше опис i роботу iндексатора. public string this[int index] { // опис iндексатора get { if (index > -1 && index < Size) return floor[index]; // код для одержання значення елемента else return "Wrong number of floor"; } set { floor[index] = value; // код для задання елементу } } Вiн повертає в якостi результату своєı̈ роботи рядок i має модифiка- тор public , тому що повинен бути доступний поза класом. Нагадаємо, що екземпляр класу виступає в ролi масиву. Iндексатор дозволяє звер- татися до елементу як MyElevator[i] (або ElevatorWithIndexer[i] , у випадку, якщо iндексатор оголошений як static ). В описi iндексато- ра використовується параметр int index . Цей параметр задає номер поточного елемента масиву, який iндексатор повинен повернути або задати. Тепер ми в програмi можемо для виводу назви номера поверху використовувати простий синтаксис звертання до елемента масиву. for (int i = 0; i < MyElevator.Size; i++ { Console.WriteLine("Number of floor is: {0}", MyElevator[i]); } 130