Еще интересно, как создают иерархию объектов или групп. Например, есть несколько категорий, каждая из которых содержит группу с n-ым кол-вом объектов. Какие методы построения иерархий предлагает концепция ООП?
Реализация иерархии должна обеспечивать легкие переходы в цикле между ее звениями и уровнями. Если иерархию строить внутри массива, останеться много пустого места. Если строить ее из комплекса массивов - нельзя осуществить свободный цикл по звеньям. Что предлагает ООП?
Как в ООП делают цикл по объектам и их свойствам?
Например, я выполняю цикл след.образом:
CObj obj[]; ... for (int i=0;i<ArraySize(obj);obj[i++].CheckSomething(param));Как-то так. А уже внутри класса, в методе CheckSomething() вся логика реализуется.
Как-то так. А уже внутри класса, в методе CheckSomething() вся логика реализуется.
Спасибо. Сначала собираем массив obj[] из объектов, а потом делаем цикл?
А насчет иерархии? Причем речь о статичной иерархии. Постоянной и неизменной.
Спасибо. Сначала собираем массив obj[] из объектов, а потом делаем цикл?
А насчет иерархии? Причем речь о статичной иерархии. Постоянной и неизменной.
class Class1{ ... }; class Class2{ ... }; class Class3{ Class1 class1; Class2 class2; ... };
То есть, создаем иерархию из классов, а потом в отдельном классе собираем все их объекты и через них делаем цикл по всем звеньям?
Смотря что вам надо, но в принципе так. Согласитесь, что гораздо элегантней, чем ваши массивы. А учитывая мои стойкие подозрения, что многомерные массивы у них по факту и не массивы вовсе, так как их в dll передать нельзя, то и накладные расходы на вызов функций вполне могут и одинаковые быть.
Как в ООП делают цикл по объектам и их свойствам?
и через них делаем цикл по всем звеньям?
используйте общепринятую терминологию, Вы мало того, что можете собеседника ввести в заблуждение своим вопросом, но и сами будете уверенны, что получили ответ на свой вопрос
ООП Вики - тут термины
по сабжу, можно массивы экземпляров объектов (ответы выше) или посмотрите исходники СБ WndContainer.mqh и ArrayObj.mqh , они используются для создания графических панелей на основе CPanelDialog (готовый пример в папке ndicators\Examples\Panels\SimplePanel ), но там работа с указателями и списками
Смотря что вам надо, но в принципе так. Согласитесь, что гораздо элегантней, чем ваши массивы. А учитывая мои стойкие подозрения, что многомерные массивы у них по факту и не массивы вовсе, так как их в dll передать нельзя, то и накладные расходы на вызов функций вполне могут и одинаковые быть.
Ну, возможно и элегантней, не буду спорить. Меня очень занимает вопрос практичности, целесообразности, простоты и удобства и на всякий синтаксис я смотрю как "на врага народа", потому как он требует внимания, разбора, порождает ошибки и затрудняет восприятие. Поэтому, стараюсь использовать максимально простые и даже примитивные кодовые конструции. Главное, чтобы легко читались и были эффективны.
С иерархией, конечно, затык. Если все таки сделать в массиве, то циклы обеспечат большие возможности парсинга звеньев, групп, подгрупп, подподгрупп и т.д... Но, память будет использоваться неэффективно. Если делать через классы, на первый взгляд - идеальное решение. Но, это для "мертвой" иерархии. Для картинки. А вот если понадобится создавать движок с ней работающий, - боюсь тут то и начнется синтаксический ад.))
Спасибо. Сначала собираем массив obj[] из объектов, а потом делаем цикл?
А насчет иерархии? Причем речь о статичной иерархии. Постоянной и неизменной.
используйте общепринятую терминологию, Вы мало того, что можете собеседника ввести в заблуждение своим вопросом, но и сами будете уверенны, что получили ответ на свой вопрос
ООП Вики - тут термины
по сабжу, можно массивы экземпляров объектов (ответы выше) или посмотрите исходники СБ WndContainer.mqh и ArrayObj.mqh , они используются для создания графических панелей на основе CPanelDialog (готовый пример в папке ndicators\Examples\Panels\SimplePanel ), но там работа с указателями и списками
В ООП под "объектом" понимается ссылка на класс, в котором объявлены его поля (свойства). Я под объектом понимаю нумерованный комплекс свойств, каждое из которых - ячейка в массиве. В этом разница.
Вопросы не относятся к теме графических интерфейсов. Я давно обошел графические библиотеки и искать мне там нечего. Но, сейчас интересуюсь тематикой ИИ, а это ставит новые задачи и вопросы.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Как в ООП делают цикл по объектам и их свойствам?
Например, я выполняю цикл след.образом: