Страница 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