Объекты и классы

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

ErmolenkoM
Сообщения: 560
Зарегистрирован: Ср сен 04, 2013 10:31 am
Откуда: Самара
Благодарил (а): 99 раз
Поблагодарили: 140 раз
Контактная информация:

Re: Объекты и классы

Сообщение ErmolenkoM » Пт мар 04, 2016 8:51 pm

я же объяснил: в свойствах одного объекта _руками_ пишите имя (или имя и свойство) другого объекта. Связываете объекты именно так. Да руками прописываете имя, а не выбираете из списка.

Про таблицы опять ничего не понял. Табличный уровень скрыт от пользователя. Есть CMS и методы работы с объектами и их свойствами. Этого достаточно для любой задачи.
aka msh555
Cubian на Cubietruck, Connect
Михаил_Калуга
Сообщения: 41
Зарегистрирован: Чт дек 03, 2015 4:19 pm
Откуда: Калуга
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Объекты и классы

Сообщение Михаил_Калуга » Сб мар 05, 2016 12:17 am

[quote="ErmolenkoM"][/quote]
Спасибо Вам за желание помочь, но в базах данных Вы к сожалению не разбираетесь. Без этих знаний данный вопрос не решить. Теоретически вся работа 20 строк на РНР, а мы с Вами исписали 2 страницы и никуда не продвинулись. Более того 200 человек прочитали это и ничего не узнали (кроме второго сообщения от slgeo).
Сердцем данной и аналогичных систем является база данных. В МЖД она на MySQL. И чтобы потом не было мучительно больно за большой объем, высокую загрузку процессора, необходимо ответственно подойти к конфигурации данных. А одним из элементов базы данных и являются классы, объекты, свойства. Этап вкл/выкл света и опрос датчиков я уже прошел. Сейчас настало время определиться с концепцией моего объекта. На первое место поставил безопасность, которая включает в себя все нештатные ситуации от отключения электричества до срабатывания датчиков охраны. Причем на главной странице должен быть как минимум индикатор, который цветом (красный, желтый, зеленый) сообщает о состоянии системы.
Если будут вопросы пишите в личку.
Надеюсь на понимание.
Михаил
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Объекты и классы

Сообщение olehs » Сб мар 05, 2016 12:42 pm

Михаил_Калуга, я как один их двухста прочитавших, понял все, что Вам написали, но так и не понял, чего хотите добиться Вы.
Должен отметить, что в базах данных я разбираюсь очень даже не плохо (в основном PostgreSQL), но это не помогло мне понять, в чем Вы видите проблему.

Попробуйте объяснить проблему на других примерах, что-ли. Если люди Вас не понимают, это не всегда значит, что они в этом не разбираются.
Михаил_Калуга
Сообщения: 41
Зарегистрирован: Чт дек 03, 2015 4:19 pm
Откуда: Калуга
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Объекты и классы

Сообщение Михаил_Калуга » Сб мар 05, 2016 1:39 pm

olehs писал(а):в чем Вы видите проблему.
Проблемы нет.
Мне нужна помощь в реализации следующего:
Когда я добавляю свойство для класса сделать (дополнительно) возможность выбора в качестве свойства - другой класс.
Например (грубо) класс ROOMS вкладка свойства - нажимаю добавить новое свойство. Выбираю из списка класс tempSensors. Такую связь установить возможно в имеющейся базе данных без ее глобального изменения?
Спасибо за ответ.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Объекты и классы

Сообщение olehs » Сб мар 05, 2016 2:09 pm

Правильно ли я Вас понял, если настроить все как Вы описали:
1. Вы создаете объект класса Rooms.
2. У нового объекта появляется свойство, например Датчик температуры.
3. В качестве значения свойства появляется комбобокс с выбором объекта из класса tempSensors.

Все верно?

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

Кроме того, если оперировать терминами баз данных, такая структура не находится в нормальной форме.
Во-первых, что делать, если датчиков в комнате больше одного? Заводить свойства Датчик2, Датчик 3?
Во-вторых, при такой схеме один датчик может находиться в нескольких комнатах одновременно.

Как я решил эти вопросы у себя, я описал в соседней ветке.
За это сообщение автора olehs поблагодарил:
Михаил_Калуга (Сб мар 05, 2016 2:11 pm)
Рейтинг: 1.16%
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Объекты и классы

Сообщение sergejey » Сб мар 05, 2016 2:11 pm

Михаил, а почему просто в это свойство не установить название объекта класса tempSensors? Вы будете знать, что в этом свойстве отсылка на объект и вполне можете устанавливать его значение. Например

Код: Выделить всё

setGlobal(getGlobal('Room1.TempSensorObject').'.temperature',22.8); 
За это сообщение автора sergejey поблагодарил:
Михаил_Калуга (Сб мар 05, 2016 2:37 pm)
Рейтинг: 1.16%

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Михаил_Калуга
Сообщения: 41
Зарегистрирован: Чт дек 03, 2015 4:19 pm
Откуда: Калуга
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Объекты и классы

Сообщение Михаил_Калуга » Сб мар 05, 2016 3:28 pm

olehs писал(а):Правильно ли я Вас понял, если настроить все как Вы описали:
1. Вы создаете объект класса Rooms.
2. У нового объекта появляется свойство, например Датчик температуры.
3. В качестве значения свойства появляется комбобокс с выбором объекта из класса tempSensors.
Нет.
Я создаю Класс Rooms
Одно из свойств выбираю через комбобокс класс tempSensors (задание нового свойства также остается)
А когда добавляю новый объект например Зал, то в качестве одного из свойств могу добавить три разных датчика температур (один цифровой, другой аналоговый и тд) из класса tempSensors.
Примерно так.

В соседней ветке Сергей объяснил алгоритм работы: в классе датчики он использует поле местоположение и таким образом устанавливает связь между объектами из разных классов.Это то , что нужно. Те три разных датчика температур (один цифровой, другой аналоговый и тд у каждого может быть уникальный номер) из класса tempSensors (а там у меня 100 датчиков предположим с уникальными номерами) при помощи местоположения привязываю к объекту зал. Здесь понял. Как изменить значения из местоположения? Здесь не понял.
А если местоположения из разных классов?
Например в одном объекте (это просто пример):
имеем класс усадьба.
Имеем класс коттедж нужно местоположение усадьба.
Имеем класс гостевой дом нужно местоположение усадьба.
имеем класс Ферма
Имеем класс правление нужно местоположение Ферма.
Имеем класс мастерские нужно местоположение Ферма.
Опять напрашивается сначала выбрать из списка класс, а потом местоположение.
Есть ли ограничения по заданию местоположения?
Всем спасибо. Интересует ответ по местоположению.
Михаил_Калуга
Сообщения: 41
Зарегистрирован: Чт дек 03, 2015 4:19 pm
Откуда: Калуга
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Объекты и классы

Сообщение Михаил_Калуга » Сб мар 05, 2016 3:35 pm

пс Имел в виду , что в одном случае выбираем местоположение из объектов класса усадьба, а в другом случае из объектов класса Ферма.
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: Объекты и классы

Сообщение olehs » Сб мар 05, 2016 3:38 pm

Т.е. вам нужна иерархическая структура местоположений? Или зачем местоположения делать разными классами?
Делайте все местоположения потомками класса Rooms, тогда они всегда будут в списке.
Если местоположений так много, что вы боитесь запутаться, можно называть объекты типа "Усадьба/Коттедж/Гостиная".

PS. Кстати у объектов класса Rooms также можно указать местоположение, т.е. иерархию можно построить. Так что в коде Вы всегда можете выбрать объекты нужной ветки
За это сообщение автора olehs поблагодарил:
Михаил_Калуга (Сб мар 05, 2016 4:02 pm)
Рейтинг: 1.16%
Михаил_Калуга
Сообщения: 41
Зарегистрирован: Чт дек 03, 2015 4:19 pm
Откуда: Калуга
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Объекты и классы

Сообщение Михаил_Калуга » Сб мар 05, 2016 4:03 pm

Привел как пример, чтобы понять можно ли изменять местоположения.
Например.
Есть квартира. Есть подвал, в котором тоже несколько помещений: кладовка, подвал, холодильник. Есть гараж с помещениями.
Вот пример из трех классов. Объединить их в один можно, но не логично. Поэтому и вопрос можно ли изменять местоположения?
Ответить