Как эффективно получить доступ к полям / свойствам объекта из другого объекта, содержащегося в этом объекте

0

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

Например:

class employee{
    String name;
    int age;
}
class company{
    String companyName;
    List<employee> employeeList;
}

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

Теги:
oop
design-patterns

2 ответа

3
Лучший ответ

Теперь у вас есть однонаправленная зависимость. Другими словами, company зависит от employee. Однако employee ничего не знает о company которой принадлежит.

Вы можете просто добавить поле company employee и каждый раз, когда вы создаете employee или добавляете его в company employeeList, не забудьте обновить обе стороны двунаправленной зависимости.


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

1

C++: Вы могли бы дать сотруднику company указатель, переданный как часть employee конструктора и доступа companyName через это.

  • 1
    Да, это будет работать и для Java

Ещё вопросы

Сообщество Overcoder
Наверх
Меню