2013-08-24 3 views
0

У меня есть родительский класс Лицо, с детьми Сотрудник, Член. в какой-то момент мне понадобится Сотрудник, чтобы стать сотрудником и членом в то же время, сохраняя все атрибуты, доступные как для сотрудника, так и для члена. как это может быть достигнуто при сохранении только одной записи базы данных для того человека, который перешел из Employee в качестве Employee и Member? Я предполагаю, что множественное наследование может решить проблему, создав новый класс, который наследуется от этих двух детей, но я использую C#.Объединение наследующих детей назад вместе

ответ

0

Для некоторых вещей наследование - это не лучший выбор.

Если кто-то, кто является Employee, может стать Member или наоборот, и особенно, если кто-то может быть одновременно, это, вероятно, не должно быть отношением наследования в первую очередь.

Я бы изменить Employee и Member классов на подклассы нового компонента под названием что-то вроде Role, и изменить Person класс, чтобы иметь поле, которое представляет собой набор Role объектов.

С этим представлением у кого-то могут быть как Employee, так и Member ролей.

+0

Итак, теперь у меня будет класс Person с полями (имя, телефон, роли), где Роли - это список классов Роль, Роль - это родительский класс, в котором наследуются члены и работник, я правильно понял? – Sisyphus

+0

Звучит так. –