Как получить доступ к полям и методам неизвестного объекта? Допустим есть ситуация.
В класcе A есть два вложенных листа, один для объектов класcа B, второй для для объектов клаcса C.
Теперь объект A может ими полностю управлять. Но объекты B и C ничего не знают друг о друге.
Соответственно чтобы, допустим поле объекта B присвоило данные с поля объекта C, нам нужно спустится в объект A,
только там мы сможем реализовать такой метод.
Есть ли возможность обеспечивать обмен данными между B и C на их собственном уровне?

21 Авг 2019 в 06:31
220 +1
1
Ответы
1

В данном случае, чтобы обеспечить обмен данными между объектами B и C на их собственном уровне, можно использовать паттерн наблюдатель (Observer).

Для этого можно создать интерфейс Observer, который будет иметь метод update(), который будет вызываться при изменении данных объекта. Затем классы B и C будут реализовывать этот интерфейс и регистрироваться в объекте A как наблюдатели (Observer), чтобы получать уведомления об изменениях данных.

Таким образом, при изменении данных в объекте B можно отправить уведомление объекту A, который в свою очередь передаст информацию объекту C. Таким образом, объекты B и C смогут обмениваться данными на своем уровне, без необходимости прямого доступа друг к другу.

20 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир