В настоящее время я изучаю ООП самостоятельно с книгами и веб-сайтами.Я нахожусь в точке, я должен практиковать.Я начал небольшой проект, который я знаю, как это сделать процедурно.Но у меня возникают вопросы, когда я пытаюсь сделать это ООП-методом.
Моя концепция проекта такая.Я хочу организовать / архивировать / управлять взаимосвязью в нашей системе на работе.Я использую 2 класса.Устройство и интерфейс.
Устройство имеет несколько интерфейсов.
Класс устройства имеет следующие методы:
- void addInterface (String name)
- void removeInterface (Interface i)
- Интерфейс getInterface (Interface i) # Я должен был написать: Интерфейс getInterface (String interfaceName)
- void printAllInterface ()
Интерфейсный класс имеет следующие методы:
- void connectInterface (Interface interfaceToConnectTo)
- void disconnectInterface (Interface interfaceToDisconnectFrom)
- void printAllConnection ()
По сути, я создаю дваустройство, добавьте несколько интерфейсов для каждого и, наконец, установите некоторое соединение между интерфейсами.
Устройство знает все свои интерфейсы.Интерфейс знает все другие интерфейсы, к которым он подключен.
Но, учитывая интерфейс, как узнать, к какому устройству он относится?
Если Интерфейс знает об устройстве, они становятся тесно связанными.Для того, что я изучаю до сих пор, это не очень хороший ООДругим способом было бы просмотреть все устройства, чтобы узнать, есть ли у них интерфейс, который я ищу.Это кажется действительно неэффективным.Я уверен, что пропустил что-то очевидное.Кто-нибудь может это увидеть?
Спасибо
Обновление: это можно рассматривать как фигуры и соединения в файле MS Visio.интерфейс на самом деле просто разъем на форме.Устройство имеет форму.