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

7 Класи public IEnumerable this[params char[] keys] { get { return keys.Select(key => floor[key]).AsEnumerable(); } } Тодi ми можемо використовувати такий вираз: MyElevator[’0’, ’1’, ’2’]; Припустимо, що ми будемо використовувати обидва iндексатори. Тодi, якщо передавати масив або кiлько аргументiв, як параметри iндексатору, то отримаємо IEnumerable , як результат. Якщо переда- вати один аргумент, то отримаємо одне значення. 7.6 Спадкування класiв Спадкування – це здатнiсть передавати особистi ознаки та особливо- стi нащадкам. Спадкування є одним з механiзмiв, що забезпечують повторне ви- користання коду в об’єктно-орiєнтованих мовах програмування. При спадкуваннi, члени базового (батькiвського) класу, такi, як по- ля, властивостi й методи, успадковуються у класi-нащадку. На дода- ток до них у класi-нащадку можуть визначаються НОВI властивостi й методи i можуть перевизначатися успадкованi методи. Таким чи- ном, спадкування дозволяє створювати новi класи, якi повторно вико- ристовують, розширюють та/або змiнюють поведiнку iнших класiв. Клас, члени якого успадковуються, називається базовим класом, а клас, який успадковує цi члени, називається похiдним класом. Похiдний клас успадковує всi члени базового класу, за винятком конструкторiв. Припускається ситуацiя, коли базовий клас сам є по- хiдним вiд iншого класу. Розглянемо класичний приклад. Нехай необхiдно задати тип, який описує людину надаючи ı̈й iм’я та прiзвище. Це можна реалiзувати за допомогою такого класу: class Person { private string FirstName; private string LastName; public string FirstN { get { return FirstName; } set { FirstName = value; } } public string LastN { get { return LastName; } 132