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

7.6.1 Спадкування й проблеми доступу
7.6 Спадкування класiв
} set { LastName = value; }
} public void Display() {
Console. WriteLine( FirstN + " " + LastN);
}
Тепер опишемо спiвробiтника компанiï. Додатково до прiзвища й iменi цей опис повинен включати ще назву вiддiлу, зарплатню та посаду. Це буде виглядати так:
class Employee: Person { string Department; string Salary; string Position
}
Пiсля двокрапки ми записали iм’ я базового класу Person. Клас
Employee спадкує всi поля, властивостi, методи, що є в класi Person.
7.6.1 Спадкування й проблеми доступу
Як ми вже говорили, клас нащадок успадковує вiд базового класу все, що вiн має. Але скористатися в похiдному класi можна не всiм. наприклад в нашому класi Person є private поле FirstName. Тому екземпляр класу Employee не може мати прямий доступ до цих даних.
Однак для доступу можна скористатися public властивiстю FirstN для надання значення або його зчитування. Ще одним способом доступу до захищених членiв класу є використання модифiкатору доступу – protected. Цей модифiкатор забезпечує вiльний доступ до членiв базового класу тiльки для прямих або непрямих нащадкiв класу( при умовi, що доступ до нестатичних protected-членiв базового класу з класу-нащадку вiдбувається через екземпляр класу-нащадку, або типа, побудованого на основi класу-нащадку, наприклад, нащадка цього класу-нащадка).
class Person
{ protected string FirstName; protected string LastName; public string FirstN { get { return FirstName; } set { FirstName = value; }
} public string LastN { get { return LastName; }
133