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

 
Artyom Trishkin:
Ciertamente no soy él, pero mis artículos 1 - 3 creo, quizás un poco más allá del 3, tienen toda la información sobre ejemplos específicos de seguimiento de órdenes y posiciones.
Gracias. Intentaré averiguarlo.
 
Artyom Trishkin:
...

He leído su artículo. Habla de los objetos y sus propiedades. Pregunta: ¿qué se entiende por "objeto" en el concepto de POO? Pensé que era una referencia a una clase. ¿Puede ser la propia clase? ¿O una estructura?

 

En general, según entiendo, el Objeto es una Clase. Combina todas las propiedades (campos) y métodos de un concepto concreto. Herencia - distribución jerárquica de los Objetos-Clase, reflejando la estructura semántica.

La estructura es un conjunto de propiedades, datos y objetos.

La clase no es sólo un objeto, sino también una categoría. Relación de categorías - herencia. También es una conexión de objetos.

En resumen, una clase es una categoría, un grupo de datos, un objeto, una estructura. Las clases consisten en interrelaciones que reflejan la jerarquía semántica de los conceptos de cualquier dominio.

 
Реter Konow:

George, me gustaría entender el significado y la aplicación de las funciones virtuales en la práctica (en qué tareas y cómo se utilizan exactamente) y el significado de las clases abstractas. Si tiene tareas específicas que resuelve con estas herramientas, descríbalas.

Artem lo ha dicho bien arriba. Tiene buenos artículos con ejemplos de código.

También puedo exponer mis propios códigos y soluciones, pero serán más complicados. Por ejemplo, tengo una interfaz virtual de contenedor de series temporales, es decir, acceso a los datos de precios de los símbolos. Y todo el trabajo de todos los Asesores Expertos está ligado a esta interfaz.

Ahora estoy considerando las opciones de los revendedores en las garrapatas. Así que tomé esa misma interfaz virtual y heredé de ella una clase que representa un contenedor de barras de segundos. Ahora estoy depurando esta clase. Cuando lo escriba, todos los EAs (tanto los 670 que están en la Liga, como cualquier otro) podrán trabajar inmediatamente con cualquier segundo timeframe, incluyendo los no estándar como el "13S".

Es decir, el hecho de tener todos los datos encapsulados en el objeto, y "exponer" sólo la interfaz virtual - me permite utilizar características en mis EAs ya escritas que no estaban previstas originalmente en absoluto.

 
Реter Konow:

Estoy leyendo su artículo. Habla de los objetos y sus propiedades. Pregunta: ¿qué se entiende por "objeto" en el concepto de POO? Pensé que era una referencia a una clase. ¿Puede ser la propia clase? ¿O una estructura?

Pensemos en ello de esta manera:

Supongamos que hay que construir una casa. Para ello hay que diseñarlo. Esta es la clase (descripción, es decir, no existe físicamente). Y cuando ves una casa ya construida, es un objeto. :)

 
Реter Konow:
¿Cree que se puede hacer un gran avance en la IA confiando en las bibliotecas disponibles al público? Es decir, coge trozos de código de un sitio, atornilla trozos de código de otro y ya está. ¿De verdad?

En serio. Es precisamente este "tomar trozos de código" lo que nos permite evitar pensar en muchas cosas importantes, y centrarnos en abordar aquellas áreas que serán nuevas.

Es que uno es consciente de todos estos puntos. Y puedes escribir el código pensando en ellos. Pero esa megamemoria es algo raro. La mayoría de la gente se olvida rápidamente de todas esas pequeñas cosas si no las maneja durante algún tiempo.

 
Petros Shatakhtsyan:

Digámoslo así:

Digamos que tienes que construir una casa. Para ello, hay que diseñarlo. Esta es la clase (descripción, es decir, no existe físicamente). Y cuando ves una casa ya construida, es un objeto. :)

En esta versión de sentido, la clase es un almacén de herramientas, materiales, materias primas y máquinas. Jerarquía de clases heredadas - como los talleres de una "fábrica".
 
Georgiy Merts:

En serio. Es precisamente ese "tomar trozos de código" lo que nos permite evitar pensar en muchas cosas importantes, y centrarnos en resolver aquellas áreas que serán nuevas.

...

George, en cada biblioteca, en cada solución, hay un concepto. Si tomo el concepto de otra persona y trato de desarrollar el mío sobre su base, podría tener un choque de conceptos, porque un sistema construido sobre dos o más conceptos no puede ser estable. Por lo tanto, las cosas innovadoras tienen que ser desarrolladas por uno mismo y desde cero. Para no tener que luchar con los errores e incoherencias "genéricas" de los otros autores.

 
Реter Konow:
¿Cree que se puede hacer un gran avance en la IA confiando en las bibliotecas disponibles al público? Es decir, coges trozos de código de un sitio, atornillas trozos de código de otro y ya está. ¿De verdad?
¿Estamos hablando de lo mismo ahora? Me refiero a las redes neuronales personalmente. Es difícil que surja algo fundamentalmente nuevo allí. Y para ensamblar y entrenar varias NS, hace tiempo que se crearon bibliotecas en cantidades de productos básicos para los principales idiomas.
 
Реter Konow:
En esta variante de sentido, la clase es un almacén de herramientas, materiales, materias primas y máquinas. Jerarquía de clases heredadas - como talleres de "fábrica".

No tanto.

Esta es otra forma de explicarlo. Normalmente nadie lo explica así.

Todos los programadores saben lo que es int x, por ejemplo;

Ahora imaginemos que la palabra int es como el nombre de una clase. ¿Y qué describe?

1. un número entero

2. ocupa 4 bytes en la memoria

3. toma valores +- dentro de unos límites. (eso es suficiente);

Y cuando escribimos int x; entonces declaramos un objeto x, de tipo int . x ya ocupa físicamente un campo de 4 bytes en la RAM.