C# - Головна Простір імен
► System (5)► Microsoft (1) Для учнів (початківців)
► Відео уроки (4)► Навчання (177) ► Приклади програм (19) ► Секрети Сі Шарп (4) Для професіоналів
► Навчання (6)► Приклади програм (1) |
Конструктори при спадкуванні C#Конструктори не успадковуються, але використовуються при створенні об'єктів похідних класів. При створенні об'єкта похідного класу, спочатку викликається конструктор базового класу, а потім похідного класу. За замовчуванням, при створенні об'єктів похідного класу викликається конструктор базового класу без параметрів. Що робити, якщо необхідно використання для конструктора базового класу з параметрами? В цьому випадку потрібно обов'язково написати конструктор похідного класу і в описі цього конструктора включити додаткову запис. Після імені конструктора в його описі поставити двокрапку, а потім, написати ключове слово base і в дужках значення параметрів. class B{ public int x; public B(int xx) { x=xx; } } class C:B{ public C(int xx):base(xx) {} } В С# немає множинного успадкування класів, тобто для будь-якого похідного класу базовий клас завжди один. Сам базовий клас може бути похідним від деякого іншого класу. В якості базових типів можуть виступати інтерфейси, у цьому випадку клас може бути спадкоємцем багатьох інтерфейсів. Зауваження: Деякі автори визначають спадкування, як створення нового класу на основі вже наявних. У цьому випадку, агрегація також підпадає під визначення успадкування, і її називають спадкуванням за моделлю увімкнення-делегування. Заборона спадкування: класи оголошені sealed У деяких випадках потрібно заборонити створення похідних класів. Розробники хочуть, щоб клас використовувався тільки в тому вигляді, в якому його створено, у цьому випадку ключове слово sealed. Клас String простору імен System є закритим для наслідування. Зауваження: слово sealed не забороняє агрегацію. Переглядів: 2767 |