Вопрос знатокам ООП. - страница 2

 
Реter Konow:

В ООП под "объектом" понимается ссылка на класс, в котором объявлены его поля (свойства). Я под объектом понимаю нумерованный комплекс свойств, каждое из которых - ячейка в массиве. В этом разница.

Вопросы не относятся к теме графических интерфейсов. Я давно обошел графические библиотеки и искать мне там нечего. Но, сейчас интересуюсь тематикой ИИ, а это ставит новые задачи и вопросы.

Тогда берите готовую библиотеку, дружите ее с mql и вперед. Зачем велосипеды изобретать?

 
Artyom Trishkin:
Поясните что имеете в виду под "...Причем речь о статичной иерархии. Постоянной и неизменной" ?
Ну, любая категория имеет определенный статичный набор понятий. Он может пополняться, но его "фундамент" неизменен. Из таких наборов складывается "статичная" иерархия.
 
Реter Konow:

В ООП под "объектом" понимается ссылка на класс, в котором объявлены его поля (свойства). Я под объектом понимаю нумерованный комплекс свойств, каждое из которых - ячейка в массиве. В этом разница.

дело Ваше, но Вы изначально вносите понятие неопределенности в терминологии

Artyom Trishkin:
Поясните что имеете в виду под "...Причем речь о статичной иерархии. Постоянной и неизменной" ?

)))))

у него своя терминология, а играем в "угадай мелодию"

ЗЫ: 5 раз менял работу, но после 2-го раза понял, что ,что бы быстро войти в коллектив, нужно сначала научиться общаться на одном языке с коллегами, т.е. уметь задать вопрос используя технические термины общепринятых ранее - это наиболее эффективно, в противном случае получишь ответ "вот мануалы, иди читай"  )))

 
Реter Konow:
Ну, любая категория имеет определенный статичный набор понятий. Он может пополняться, но его "фундамент" неизменен. Из таких статичный наборов понятий складывается "статичная" иерархия.

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

Что-то не совсем понимаю вас. Категория - что имеете в виду? "Фундамент" - что имеете в виду?

 
Igor Makanu:

дело Ваше, но Вы изначально вносите понятие неопределенности в терминологии

)))))

у него своя терминология, а играем в "угадай мелодию"

ЗЫ: 5 раз менял работу, но после 2-го раза понял, что ,что бы быстро войти в коллектив, нужно сначала научиться общаться на одном языке с коллегами, т.е. уметь задать вопрос используя технические термины общепринятых ранее - это наиболее эффективно, в противном случае получишь ответ "вот мануалы, иди читай"  )))

Видишь ли - если говорить о статичности иерархии объектов, то напрашивается ассоциативный массив. А если о какой-то иной статичности не знаю чего ещё, то..., то напрашиваются пояснительные вопросы к Петру.
 
Artyom Trishkin:

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

Что-то не совсем понимаю вас. Категория - что имеете в виду? "Фундамент" - что имеете в виду?

Объект с неизменным количеством полей - это другое. Здесь философский, а не программный контекст понятий. Вы должны в этом хорошо ориентироваться. В философском представлении, Объект - это сущность, представленная как именованный комплекс свойств. Свойство - обязательный атрибут Объекта и вообще любой сущности (процесса, состояния, значения...). Категория, скорее свойство, чем объект, а как свойство - оно переменная. Тогда список ее подкатегорий - это список ее значений в статусе переменной-свойства.

Далее, иерархия категорий - это статичный комплекс взаимосвязей. Отражает вложенность звеньев иерархии. 

Речь о картине мира, представленной в виде базы знаний.

 
Реter Konow:

Объект с неизменным количеством полей - это другое. Здесь философский, а не программный контекст понятий. Вы должны в этом хорошо ориентироваться. В философском представлении, Объект - это сущность, представленная как именованный комплекс свойств. Свойство - обязательный атрибут Объекта и вообще любой сущности (процесса, состояния, значения...). Категория, скорее свойство, чем объект, а как свойство - оно переменная. Тогда список ее подкатегорий - это список ее значений в статусе переменной-свойства.

Далее, иерархия категорий - это статичный комплекс взаимосвязей. Отражает вложенность звеньев иерархии. 

Речь о картине мира, представленной в виде базы знаний.

Пётр, это в вашем понимании я какой-то прожжённый филосов. Однако это совсем не так. Я оперирую совершенно ограниченным набором понятий, укладывающихся в общую концепцию ООП.

Если говорить о картине мира, то объектом можно назвать любое живое существо. У каждого живого существа есть собственный набор его качеств, которые нам говорят однозначно о том, к какому классу живых существ оно может быть отнесено. Базовые же свойства есть у всех живых существ, и они неизменны - это вы имели в виду под "фундаментом"?

 
Artyom Trishkin:

Пётр, это в вашем понимании я какой-то прожжённый филосов. Однако это совсем не так. Я оперирую совершенно ограниченным набором понятий, укладывающихся в общую концепцию ООП.

Если говорить о картине мира, то объектом можно назвать любое живое существо. У каждого живого существа есть собственный набор его качеств, которые нам говорят однозначно о том, к какому классу живых существ оно может быть отнесено. Базовые же свойства есть у всех живых существ, и они неизменны - это вы имели в виду под "фундаментом"?

Да. Верно. Фундаментальные свойства имеет каждый Объект. И каждый относится к какой то категории, которая в свою очередь вложена в другую категорию, а та в следующую и так далее, к вершине абстракции. Этот "путь" от любого частного объекта к своей категории, надкатегории и над-над категории статичен. Поэтому, я внес понятие фундамента, - то есть неизменных связей между категориями. Отсюда возникла задача построения иерархии. Но, возможно, память и возможности компьютера не идеально подходят для построения сложных, вложенных друг в друга конструкций. Возможно, технические ограничения не позволят это эффективно реализовать.

 
Реter Konow:

Да. Верно. Фундаментальные свойства имеет каждый Объект. И каждый относится к какой то категории, которая в свою очередь вложена в другую категорию, а та в следующую и так далее, к вершине абстракции. Этот "путь" от любого частного объекта к своей категории, надкатегории и над-над категории статичен. Поэтому, я внес понятие фундамента, - то есть неизменных связей между категориями. Отсюда возникла задача построения иерархии. Но, возможно, память и возможности компьютера не идеально подходят для построения сложных вложенных друг в друга конструкций. Возможно, технические ограничения не позволят это эффективно реализовать.

Существо.

Флора/Фауна

Подвид

Вид

Семейсвто

и т.д.

Так хотите?

Ну это простое наследование от базового объекта "Существо"

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

Если уж совсем головой стукнуться, то можно и до атомов дойти и начать и их делить на составляющие в поисках фундаментального объекта-родителя (осторожно - реакция деления может стать цепной, и вы уничтожите полмира :))

 
Реter Konow:

Как в ООП делают цикл по объектам и их свойствам?

Например, я выполняю цикл след.образом:

Если я правильно понял Ваш код, то вот его аналог в ООП:

class MyClass
{
public:
   int _X_SIZE;
   color _this_state_color;
   
   int props[];
   
   void Redraw();
};

MyClass* G_CORE[obj_total];

//Цикл по объектам в поиске нужного значения конкретного свойства.

for( int a1 = 0; a1 < obj_total; a1++ )
{
   if( G_CORE[a1]._X_SIZE == THIS_SIZE )
   {
      G_CORE[a1]._this_state_color = clrWhite;
      G_CORE[a1].Redraw();
   }
}

//Цикл по свойствам в поиске неверного значения

for( int a1 = 0; a1 < prop_total; a1++ )
{
   if( G_CORE[ELEMENT].props[a1] > Max_value )
   {
      G_CORE[ELEMENT].props[a1] = Max_value;
      G_CORE[ELEMENT].Redraw();
   }
}