Зміст:
Визначення - Що означає Спадщина?
Спадщина в C # - це здатність створювати клас, який успадковує атрибути та поведінку від існуючого класу. Новостворений клас - це похідний (або дочірній) клас, а існуючий клас - базовий (або батьківський) клас.
Спадкування - одна з ключових особливостей об'єктно-орієнтованого програмування. Переваги успадкування є частиною причини, по якій структурне програмування можна замінити об'єктно-орієнтованим програмуванням.
Спадкування в C # розроблено як на рівні реалізації, так і на рівні інтерфейсу. Спадкове реалізація включає код одного класу, який повторно використовується в іншому, тоді як успадкування інтерфейсу передбачає успадкування лише підписів функцій від одного типу до іншого.
Спадкування також відоме як узагальнення.
Техопедія пояснює спадкування
C # не підтримує множинне успадкування, що означає, що клас може походити лише з одного базового класу, хоча клас може бути похідний з одного або декількох інтерфейсів. Через транзитивний характер успадкування похідний клас успадковує всіх членів своїх предків.
Наприклад, класи, Автомобіль та Автобус можуть бути отримані з базового класу, Транспортного засобу, через спадкування, оскільки і Автомобіль, і Автобус - це типи Транспортних засобів.
До основних особливостей успадкування належать:
- Усі члени базового класу, крім тих, що мають приватну доступність, можуть отримати доступ до похідного класу.
- Усі члени базового класу успадковуються від базового класу, крім конструкторів та деструкторів.
- На відміну від C ++, віртуальним методам у похідному класі потрібно використовувати модифікатор "override", щоб замінити спадковий член.
- Щоб приховати спадковий член з тим самим іменем та підписом у похідному класі, може бути використаний "новий" модифікатор.
- Для запобігання прямому інстанціюванню класу можна використовувати "абстрактний" модифікатор.
- Для запобігання подальшого походження базового класу його можна оголосити за допомогою "герметичного" модифікатора.
- Це дає змогу побудувати ієрархію пов'язаних класів, яка може повторно використовувати, розширювати та змінювати поведінку, визначену в існуючих класах.
- Це дозволяє повторно використовувати код, скорочуючи час і зусилля на кодування та тестування.
- Це допомагає покращити модульність та продуктивність, розділивши великі фрагменти коду на більш дрібні, більш керовані, шматочки.
- Він формує засоби для досягнення поліморфізму, що дозволяє об'єкту представляти більше одного типу.
Це визначення було написано в контексті C #
