Страница 1 из 1

Объект который является частью другого обьекта

Добавлено: Пт мар 17, 2017 12:05 am
maleha
Можно ли реализовать вложенность объектов.Скажем в каждой комнате есть модуль на 8 реле. Он управляется одним ESP8266. Регистрируем объект с именем скажем MAC модуля и свойством ип адресс устройсва для дальнейшей его идентификации. В этом объекте создаем 8 других объектов который и будут непосредственно самими реле. Уже в этом обьекте будем управлять свойствами включения а также другими свойствами (например температура включения, время включения выключения и т.д). Что бы в коде можно было обращаться по пути что то типа "имя_корневого_обьекта.имя_вложенного_обьекта.свойство"

Re: Объект который является частью другого обьекта

Добавлено: Пт мар 17, 2017 12:06 pm
sergejey
Вложенные объекты это не очень хорошая идея. Есть классы, есть объекты классов, всё вышеперечисленное можно через них сделать. Я бы наверное создал два отдельных класса -- контроллеры и реле. Классы друг друга не наследуют, т.к. у них разные задачи. В свойствах класса реле что б можно было указать имя объекта из класса контроллеров. Тогда методы turnon/turnoff класса реле смогут использовать это свойство, чтобы обратиться к объекту контроллера и получить из него необходимые свойства.

Re: Объект который является частью другого обьекта

Добавлено: Пт мар 17, 2017 1:05 pm
maleha
Скорей всего так и придется делать. Хотелось просто какого-то древовидного отображения объектов в панели управления )) а так будет куча реле )))

Re: Объект который является частью другого обьекта

Добавлено: Пт мар 17, 2017 5:48 pm
lanket
maleha писал(а):Скорей всего так и придется делать. Хотелось просто какого-то древовидного отображения объектов в панели управления )) а так будет куча реле )))
Зачем все в кучу?
Рекомендую подсмотреть примеры у бывалых в коннекте.

Здесь философия проста:
Не претендую на эталонность. Лично я пришёл к такой структуре:

Есть родительский класс реле, у него есть присущие всем реле св-ва состояние, месторасположение, нода (id железки к которой присоеденена релюха). И методы вкл, выкл, перекл

У него есть подклассы
Свет
Подсветка
Умные розетки
Климат
Сервисные

Эти дочерние классы наследуют св-ва и методы от родителя и обретают новые свойственные специфике подкласса.

В них уже объекты связанные с железками.

Вроде так более-менее правильно и соответствует местной идеологии. И вроде как упорядочено.

Отправлено с моего Redmi Note 3 через Tapatalk