русс | укр

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 не забороняє агрегацію.

Переглядів: 2207






© 2012 ci-sharp.ru При використанні матеріалу пряме iндексуюче посилання на сайт ОБОВ'ЯЗКОВЕ.
Права строго захищені нормами міжнародного права, інтелектуальної власності та авторського права.