2015-11-02 3 views
0

enter image description hereиз UML диаграммы классов на Java: выбор иерархии классов

Я пытаюсь реализовать это в Java, и я столкнулся с некоторыми проблемами интерфейса/наследования. Я совершенно новичок в концепциях ОО, поэтому это, вероятно, будет неправильным выбором архитектуры/концепции. Если какая-то информация отсутствует, скажите мне, и я постараюсь сделать себя яснее.

Коммутаторы могут быть оборудованием OSIL 2 или 3, поэтому я предполагаю, что мне нужны интерфейсы для наследования, потому что вы можете иметь только на суперкласс сразу, верно? Проблема: я не могу сделать Node интерфейсом, потому что мне нужен его атрибут, и если это не интерфейс, то OSIL3Equipement (как интерфейс) не может наследовать его. Вопрос: как я могу моделировать это в Java (? Ака где ошибка в моей иерархии классов) (курсив имена написаны класс означает его аннотацию, может быть соглашение, но я предпочитаю, чтобы указать на это)

ответ

0

Так часть проблема заключается в том, что коммутаторы пытаются сделать сразу две разные вещи. Можно ли смоделировать их отдельно? Переключатель OSIL 2 и переключатель OSIL3. (возможно, с коммутатором в качестве интерфейса, который реализуется поверх своего базового класса OSIL)

Если это должен быть единственный объект, он может обойти отсутствие множественного наследования Java, превратив один из классов abtract в интерфейс и позволяя каждой реализации его определять свою собственную структуру данных. т.е.: OSIL2Equipment - это метод интерфейса с getARPTable() или doARPTableLookup(), а класс Switch просто определяет его как частное поле.

+0

Отдельное моделирование с помощью интерфейса коммутатора звучит как элегантное решение на бумаге и работает в моей реализации. спасибо – LionelM

Смежные вопросы