С#, наследование для чайника - C#
Формулировка задачи:
Всем добрый день,
Подскажите, пожалуйста, имеется базовый класс, в котором объявлена виртуальная функция, в дочернем классе виртуальная функция переопределена, все нормально. Дело в том, что дочерних классов десятки, и мне не хотелось бы в каждом дочернем классе писать одну и ту же функцию. Если ее не переопределить, а оставить в базовом классе, нужно чтобы в этой функции были доступны поля дочернего класса, а базовый класс не может иметь доступа к полям дочернего класса. Есть идея в базовом классе объявить поле с типом базового класса и в конструкторе дочернего класса помещать туда ссылку на дочерний объект. Далее из функции базового класса обратится к этой ссылке и получить доступ к полям дочернего объекта. Может есть "классический" подход, подскажите пожалуйста..
Решение задачи: «С#, наследование для чайника»
textual
Листинг программы
abstract class Animal { public abstract int LegsCount { get;} } abstract class Cow :Animal { public override int LegsCount { get { return 4; } } } abstract class Chicken:Animal { public override int LegsCount { get { return 2; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д