Я не знаю, как это называется, но здесь.Несколько дериваций того же объекта
public class Person
{
long ID;
}
public class Banker : Person
{
string example1;
}
public class Scientist : Person
{
string example2;
}
Я пытаюсь реализовать наш ORM, чтобы соответствовать нашей базе данных, и я столкнулся с этой проблемой. Надеюсь, этот пример достаточно прост для понимания.
Теперь сопоставление объектных отношений имеет смысл для человека, являющегося Банкиром или Ученым. Проблема, с которой я столкнулась, - это Человек, являющийся Банкиром и Ученым. Так что я пытаюсь сделать, это возможность создать Банкира или Ученого и быть способным бросить его, либо имея тот же объект базового класса.
Я действительно не ищу много наследования. Я ищу способ создания нескольких объектов с одним и тем же объектом базового класса. Например, Лицо - это банкир и ученый, но не ученый-банкир (класс, имеющий атрибуты как банкира, так и ученого).
Это был недостаток в базе данных, и теперь модель меняется, но ее все еще вызывает сомнение.
Без особого знания о вашей модели, если это настоящий пример, но для меня это может быть лучше, чем ассоциация, а не наследование - то есть кто-то человек, но имеет профессию (или несколько занятий). Это позволяет упростить техническое обслуживание на тот момент, когда вам нужен банкир/ученый/премьер-министр. Может быть сделано без изменения кода. – Paddy
Также помните правило # 1 наследования: только наследуйте, если вы добавляете поведение к дочернему классу. Не наследуйте, просто добавляйте элементы данных. –