Основы объектно-ориентированного программирования на языке 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