Discusión sobre el artículo "Desarrollo de un sistema de repetición — Simulación de mercado (Parte 16): Un nuevo sistema de clases"

 

Artículo publicado Desarrollo de un sistema de repetición — Simulación de mercado (Parte 16): Un nuevo sistema de clases:

Precisamos organizarnos mejor. El código está creciendo y si no lo organizamos ahora, será imposible hacerlo después. Así que vamos a dividir para conquistar. El hecho de que MQL5 nos permita usar clases nos ayudará en esta tarea. Pero para hacerlo, es necesario que tengas algún conocimiento sobre algunas cosas relacionadas con las clases. Y tal vez lo que más confunde a los aspirantes y principiantes es la herencia. Así que en este artículo, te mostraré de manera práctica y sencilla cómo usar estos mecanismos.

De hecho, hay un trabajo adicional en la parte de escribir el código. Pero para mí, que he estado programando en C++/C durante años, es más fácil entender que me estoy refiriendo a un puntero al ver un código como el mostrado anteriormente. Y dado que MQL5 entiende esto de la misma manera que lo haría C++/C, no veo ningún problema en usar esta notación. Cada vez que veas un código con una notación igual a la mostrada anteriormente, no te preocupes, se trata simplemente de un puntero.

Dicho esto, podemos seguir explorando el nuevo sistema de clases. Si piensas que los cambios solo se han producido hasta este punto, eres bastante optimista. El simple hecho de haber realizado estos cambios, donde garantizaremos de manera explícita que una clase se construirá y destruirá en momentos muy específicos, nos llevará a hacer varios otros cambios en el código. Un constructor y un destructor no devuelven ningún valor. Entonces, necesitamos hacer algo para saber si la clase se ha construido correctamente o no.

Para comprender cómo hacer esto, echemos un vistazo dentro de la caja negra de la clase C_Replay. Esta se encuentra en el archivo de encabezado C_Replay.mqh. La estructura interna se muestra en la imagen a continuación:

Figura 01 - C_Replay.mqh


Autor: Daniel Jose

Razón de la queja: