Una pregunta para los expertos en POO. - página 2

 
Реter Konow:

En POO, un "objeto" es una referencia a una clase en la que se declaran sus campos (propiedades). Entiendo un objeto como un conjunto numerado de propiedades, cada una de las cuales es una celda de un array. Esa es la diferencia.

Las preguntas no están relacionadas con el tema de las interfaces gráficas. Hace tiempo que he obviado las bibliotecas gráficas y no tengo nada que buscar ahí. Pero ahora me interesa el tema de la IA, y esto plantea nuevos retos y preguntas.

Entonces coge una librería de las que hay en el mercado, hazte amigo de mql y sigue adelante. ¿Por qué reinventar la rueda?

 
Artyom Trishkin:
Explique lo que quiere decir con "...Es una jerarquía estática. ¿"Constante e inmutable"?
Bueno, cualquier categoría tiene un cierto conjunto estático de conceptos. Puede complementarse, pero su "fundamento" es invariable. Estos conjuntos forman una jerarquía "estática".
 
Реter Konow:

En POO, un "objeto" es una referencia a una clase en la que se declaran sus campos (propiedades). Entiendo un objeto como un conjunto numerado de propiedades, cada una de las cuales es una celda de un array. Esa es la diferencia.

Usted decide, pero está introduciendo la noción de ambigüedad en la terminología al principio

Artyom Trishkin:
Explica lo que quieres decir con "...Y estamos hablando de una jerarquía estática. ¿"Constante e inmutable"?

)))))

Tiene su propia terminología y estamos jugando a "adivinar la melodía".

SZZY: Cambié de trabajo 5 veces, pero después de la segunda vez me di cuenta de que para entrar en el equipo rápidamente, tienes que aprender a comunicarte en el mismo idioma que tus compañeros, es decir, ser capaz de hacer una pregunta utilizando términos técnicos generalmente aceptados antes - esto es lo más eficaz, de lo contrario obtendrás una respuesta "aquí están los manuales, ve a leerlos")

 
Реter Konow:
Bueno, cualquier categoría tiene un cierto conjunto estático de conceptos. Se puede reponer, pero su "fundamento" no cambia. Estos conjuntos estáticos de conceptos forman una jerarquía "estática".

¿Quiere decir que tiene un objeto con un número fijo de campos y necesita crear una jerarquía de dichos objetos? Pero cualquier objeto tiene un número estático de campos (siempre que no cambies su número en el código de la clase).

No entiendo muy bien lo que quieres decir. Categoría - ¿Qué quiere decir? "Fundación", ¿qué quiere decir?

 
Igor Makanu:

su caso, pero está introduciendo una noción de ambigüedad en la terminología desde el principio

)))))

Tiene su propia terminología, y estamos jugando a "adivinar la melodía".

SZZY: Cambié de trabajo 5 veces, pero después de la 2ª vez me di cuenta de que para entrar en el equipo rápidamente, primero debes aprender a comunicarte en el mismo idioma que tus compañeros, es decir, ser capaz de hacer una pregunta utilizando términos técnicos previamente acordados - esto es lo más efectivo, de lo contrario obtienes la respuesta "aquí están los manuales, ve a leerlos" )))

Si estamos hablando de una jerarquía de objetos estática, entonces una matriz asociativa está en orden. Y si hablamos de alguna otra estaticidad de no sé qué más, entonces..., entonces se plantea una pregunta explicativa a Pedro.
 
Artyom Trishkin:

¿Se refiere a que tiene un objeto con un número fijo de campos y necesita crear una jerarquía de dichos objetos? Pero cualquier objeto tiene un número estático de campos (hasta que los añades tú mismo en el código de la clase).

No te sigo del todo. Categoría - ¿Qué quiere decir? " Fundación - ¿qué quiere decir?

Un objeto con un número fijo de campos es diferente. Aquí hay un contexto filosófico, no programático, de conceptos. Deberías estar bien versado en esto. Desde el punto de vista filosófico, un objeto es una entidad representada como un conjunto de propiedades con nombre. Una propiedad es un atributo obligatorio de un objeto y, en general, de cualquier entidad (proceso, estado, valor...). Una categoría es una propiedad más que un objeto, y como propiedad es una variable. Entonces la lista de sus subcategorías es una lista de sus valores en estado de propiedad variable.

Además, la jerarquía de categorías es un conjunto estático de relaciones. Refleja el anidamiento de los enlaces en la jerarquía.

Es una imagen del mundo, representada como una base de conocimientos.

 
Реter Konow:

Un objeto con un número invariable de campos es diferente. Los conceptos tienen un contexto más filosófico que programático. Deberías estar bien versado en esto. Filosóficamente, un objeto es una entidad representada como un conjunto de propiedades con nombre. Una propiedad es un atributo obligatorio de un objeto y, en general, de cualquier entidad (proceso, estado, valor...). Una categoría es una propiedad más que un objeto, y como propiedad es una variable. Entonces la lista de sus subcategorías es una lista de sus valores en estado de propiedad variable.

Además, la jerarquía de categorías es un conjunto estático de relaciones. Refleja el anidamiento de los enlaces en la jerarquía.

Es una imagen del mundo presentada como una base de conocimientos.

Peter, me haces pasar por una especie de filósofo empedernido. Sin embargo, esto no es cierto en absoluto. Opero con un conjunto absolutamente limitado de nociones, que se ajustan al concepto general de OOP.

Si hablamos de la imagen del mundo, cualquier ser vivo puede ser llamado objeto. Cada ser vivo tiene su propio conjunto de cualidades, que nos indican inequívocamente a qué clase de seres vivos puede referirse. Pero todos los seres vivos tienen propiedades básicas y son inmutables, ¿es eso lo que quiere decir con "fundamento"?

 
Artyom Trishkin:

Peter, me haces pasar por una especie de filósofo empedernido. Sin embargo, esto no es cierto en absoluto. Opero con un conjunto muy limitado de conceptos que encajan en el concepto general de OOP.

Si hablamos de la imagen del mundo, cualquier ser vivo puede ser llamado objeto. Cada ser vivo tiene su propio conjunto de cualidades, que nos indican inequívocamente a qué clase de seres vivos puede referirse. Pero todos los seres vivos tienen propiedades básicas y son inmutables, ¿es eso lo que quiere decir con "fundamento"?

Sí. Eso es. Todo objeto tiene propiedades fundamentales. Y cada una pertenece a una categoría, que a su vez está anidada en otra categoría, y ésta en la siguiente, y así sucesivamente, hasta la cima de la abstracción. Este "camino" desde cualquier Objeto particular a su categoría, supra-categoría y supra-categoría es estático. Por ello, introduje la noción de fundamento, es decir, las relaciones inmutables entre las categorías. De ahí surgió la tarea de construir una jerarquía. Pero quizá la memoria y las capacidades del ordenador no sean las ideales para construir estructuras complejas y anidadas. Tal vez las limitaciones técnicas no permitan que esto se aplique de manera eficiente.

 
Реter Konow:

Sí, claro. Todo objeto tiene propiedades fundamentales. Y cada objeto pertenece a una categoría, que a su vez está anidada en otra categoría, que a su vez está anidada en la siguiente categoría, y así sucesivamente, hasta la cima de la abstracción. Este "camino" desde cualquier Objeto particular a su categoría, supra-categoría y supra-categoría es estático. Por ello, introduje la noción de fundamento, es decir, las relaciones inmutables entre las categorías. De ahí surgió la tarea de construir una jerarquía. Pero quizás la memoria y las capacidades del ordenador no sean las ideales para construir estructuras anidadas complejas. Quizás las limitaciones técnicas no permitan que esto se aplique de forma eficiente.

Criatura.

Flora/Fauna

Subespecie

Especies

Familia

etc.

¿Es eso lo que quieres?

Pues es una simple herencia de la entidad base "Entidad".

Pero se puede ir más allá: hay unicelulares/multicelulares, y todo eso se aplica a los seres vivos. Pero también los hay no vivos. Todo depende de las tareas que necesites para encontrar las propiedades de un objeto base, y heredar de ellas.

Si te pones realmente a pensar, podrías llegar hasta los átomos y empezar a dividirlos en componentes en busca de un objeto padre fundamental (precaución: una reacción de fisión podría convertirse en una reacción en cadena, y destruirías medio mundo :))

 
Реter Konow:

¿Cómo se hace un bucle OOP sobre los objetos y sus propiedades?

Por ejemplo, ejecuto un bucle como el siguiente:

Si entiendo bien tu código, aquí está su contraparte OOP:

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();
   }
}