2013-11-25 7 views
1

Если у меня есть система для организации расписания для пилотов и самолета, они летают на работу. И менеджер для организации расписания. Но менеджер тоже пилот. Мне нужны два отдельных дочерних класса: пользователь как пилот + менеджер. Или было бы более практично просто использовать атрибут isManager в классе пилота, например? Или менеджер будет ребенком летчика?Вопросы по диаграмме классов UML

И если класс schdule является композицией для системы , будет ли метод создания нового расписания быть в системном классе?

ответ

0

Честно говоря, это зависит от требований приложения и того, как вы хотите его реализовать, поскольку не может быть правильного или неправильного ответа. Pilot и Manager могут быть отдельными обобщениями класса User. Пользователь также может быть унарной. Кто скажет, что вы не могли поместить поле isPilot в класс User? В конце концов, может быть более целесообразно разделить их как дочерние классы пользователя. Я знаю, что я буду делать это при кодировании, используя User в качестве базового класса, а затем Pilot и Manager расширят User.

Вы могли бы что-то вроде этого:

enter image description here

Или если менеджер всегда пилот вы могли бы сделать это:

enter image description here

Лично я бы реализовать бывший, потому что если появится менеджер, который не является пилотом? Опять же, как я уже сказал, это зависит от требований приложения и того, как вы хотите его реализовать. Ни один из способов не ошибается.

+0

Спасибо за ответ: – nicwhitts

+0

@nicwhitts, если вы чувствуете, что он отвечает на ваш вопрос, не могли бы вы отметить его как ответ? Благодарю. – Dan

+0

Случайно отправлено ** Спасибо за ответ: В спецификации ничего не говорится о яслях, не являющихся пилотом, я предполагаю, что заявлено требуется. На вашей второй диаграмме, разве пилот также не должен быть связан с расписанием? Чтобы пилот мог просмотреть их расписание? – nicwhitts