В многоуровневом наследовании производный класс наследует базовый класс, а также производный класс также действует как базовый класс для другого класса. Например, три класса с именами A, B и C, как показано на рисунке ниже, где класс C является производным от класса B, а класс B — производным от класса A. В этой ситуации каждый производный класс наследует все характеристики его базовые классы. Таким образом, класс C наследует все функции класса A и B.
Пример: здесь производный класс Rectangle используется в качестве базового класса для создания производного класса с именем ColorRectangle. Благодаря наследованию ColorRectangle наследует все характеристики Rectangle и Shape и добавляет дополнительное поле с именем rcolor, которое содержит цвет прямоугольника.
Этот пример также охватывает концепцию конструкторов в производном классе. Как мы знаем, подкласс наследует все члены (поля, методы) от своего суперкласса, но конструкторы не являются членами, поэтому они не наследуются подклассами, но конструктор суперкласса может быть вызван из подкласса. Как показано в приведенном ниже примере, base ссылается на конструктор в ближайшем базовом классе. База в ColorRectangle вызывает конструктор в Rectangle, а база в классе Rectangle — конструктор в Shape.
|
Выход:
Details of r1: Rectangle is Fibonacci rectangle Width and Length are 2 and 3.236 Color is pink Area is 6.472 Details of r2: Rectangle is Square Width and Length are 4 and 4 Color is black Area is 16
Рекомендуемые посты:
- C # | наследование
- C # | Наследование в Конструкторах
- C # | Наследование в интерфейсах
- C # | Множественное наследование с использованием интерфейсов
- Сравните два ValueTuple <T1, T2, T3, T4, T5, T6, T7> в C #
- Сравнение двух ValueTuple <T1, T2, T3, T4, T5, T6> в C #
- Сравнение двух ValueTuple <T1, T2, T3, T4, T5> в C #
- Сравнение двух ValueTuple <T1, T2, T3, T4> в C #
- Сравнение двух ValueTuple <T1, T2, T3> в C #
- Сравнение двух ValueTuple <T1, T2> в C #
- Проверка, равны ли два значения ValueTuple <T1, T2, T3, T4, T5, T6, T7, TRest> в C #
- Проверка, равны ли два значения ValueTuple <T1, T2, T3, T4, T5, T6, T7> в C #
- Проверка, равны ли два значения ValueTuple <T1, T2, T3, T4, T5, T6> в C #
- Проверка, равны ли два значения ValueTuple <T1, T2, T3, T4, T5> в C #
0.00 (0%) 0 votes