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

 
Eso es todo, me voy a aprender OOP. Responderé a todos cuando vuelva).
 
Nikolai Semko:

No te sobran 45 minutos, Peter. Para empezar, es muy importante entender de qué está hablando este hombre. Probablemente muchos discutirán con él, pero en general tiene razón:


Una conferencia interesante, pero quedan demasiados interrogantes. Habla del efecto perjudicial de los setters y los getters, pero explíqueme, ¿cuál es la diferencia, si introduzco errores en los setters o en los constructores? ¿Así que resulta que el SB MQL5 es sólo un gran error? Hay un montón de todos estos setters y getters, ¿no?

 
Alexey Viktorov:

Una conferencia interesante, pero quedan demasiados interrogantes. Aquí se habla de los perjuicios de los setters y getters, pero por favor explícame, ¿cuál es la diferencia, donde se cometen errores, al introducir algunos valores a través de setters o en constructor? ¿Así que resulta que el SB MQL5 es sólo un gran error? Hay un montón de todos estos setters y getters, ¿no?

también miró estos 45 minutos ayer.... bueno, es como si hasta los estudiantes hubieran hecho pedazos al autor.

La teoría lo dice muy bien: aquí está el objeto, debe ser capaz de hacer todo, y no debe estar atado al hardware porque tú mandas el PC, ¡no tú! Si el objeto no sabe hacer algo, escribimos otra clase pequeña, en la práctica no es así - si se niega a controlar un objeto, habrá bloques de código repetitivo, la herencia resolverá parcialmente este problema, pero en general, en lugar de resolver el problema, el programador obtiene un montón de objetos (¿o una montaña de dolor? )))) y tendrá que averiguar cómo gestionar todo ...... imho, si los gigantes de la informática escribieron un código similar en la lógica, funciona, y los innovadores, bueno, siempre han sido y serán, pero sus resultados, por alguna razón, no son visibles.

SZS: ¿cómo cambiar el color del botón? - matar el objeto anterior y crear un nuevo botón de un color diferente? - ¿y cómo se consigue el estado de los botones? - y si se trata de una combinación de colores de cientos de botones - de nuevo matarlos todos y crear otros... ;)

 
Igor Makanu:

también vio esto 45 minutos ayer.... Bueno, incluso los estudiantes han destrozado al autor.

La teoría lo dice muy bien: aquí está el objeto, debe ser capaz de hacerlo todo, y todo esto no debe estar ligado al hardware porque tú mandas al PC, ¡no el PC a ti! Si el objeto no sabe hacer algo, escribimos otra clase pequeña, en la práctica no es así - si se niega a controlar un objeto, habrá bloques de código repetitivo, la herencia resolverá parcialmente este problema, pero en general, en lugar de resolver el problema, el programador obtiene un montón de objetos (¿o una montaña de dolor? )))) y tendrá que averiguar cómo gestionar todo ...... imho, si los gigantes de la informática escribieron un código similar en la lógica, funciona, y los innovadores, bueno, siempre han sido y serán, pero sus resultados, por alguna razón, no son visibles.

SZS: ¿cómo cambiar el color del botón? - matar el objeto anterior y crear un nuevo botón de un color diferente? - ¿y cómo se consigue el estado de los botones? - y si se trata de una combinación de colores de cientos de botones - matarlos a todos de nuevo y crear otros... ;)

Lo curioso es que incluso la aplicacióninconsciente de los principios de la programación orientada a objetos da resultados bastante tangibles.

 
Alexey Viktorov:

Una conferencia interesante, pero quedan demasiados interrogantes. Aquí se habla de los perjuicios de los setters y getters, pero por favor explícame, ¿cuál es la diferencia, donde se cometen errores, al introducir algunos valores a través de setters o en constructor? ¿Así que resulta que el SB MQL5 es sólo un gran error? Hay un montón de todos estos setters y getters.

Los desarrolladores han hecho todo correctamente: la biblioteca estándar está enfocada al nivel de entrada, y para la mayoría de las tareas es bastante suficiente. Para escribir en OOP (y no sólo hacer malabares con los términos) se necesita un nivel avanzado y cierto tipo de pensamiento. Si no lo tienes, todavía puedesconvertir todo en clases pensando que esto es OOP. Probablemente no se pueda enseñar, la comprensión llega con el tiempo.

 
A100:

Si no lo tienes, todavía puedes envolver todo en clases, pensando que esto es OOP.

Una vez más intentas presumir de ingenio, pero desgraciadamente no muestras tus ejemplos, y de nuevo intentas idear algo para gente que no conoces, para decir...

imho, mezquino, desagradable, tratando de ser malo - en general ))))

 
Igor Makanu:

Una vez más intentas presumir de inteligencia, pero desgraciadamente no muestras ejemplos de ella, y de nuevo intentas inventarte cosas para gente que no conoces, para...

imho, mezquino, desagradable, tratando de ser malo - en general, no se distraiga ))))

Te estoy mostrando los ejemplos equivocados, dándote así la caña pero no el pez.

 
A100:

Muestro ejemplos erróneos - dando así una caña de pescar pero no un pez.

¿Qué pasa? los ejemplos funcionan en el probador y en el comercio

he escrito repetidamente que si es conveniente, significa que puede y debe ser utilizado

Implementar la herencia para estrategias simples, de las cuales cada operador en los foros de Runet trata de inventar una docena o más cada semana, en la mayoría de los casos no tiene sentido, mientras que mis ejemplos permiten proporcionar una rápida portabilidad del código listo.

Si tiene una pregunta o sugerencia concreta, tal vez me gustaría discutirla, si no, ¿qué sentido tiene discutir algo que no existe?

 
Igor Makanu:

¿cuál es el error? los ejemplos funcionan tanto en tester como en trade

El error es desde el punto de vista de la POO, no desde el punto de vista del resultado final. Si no entiendes cuál es el error, vuelve a ver el vídeo, y luego una y otra vez, hasta que lo entiendas. Es la primera vez que veo este vídeo, pero no podría explicarlo de forma tan sencilla y comprensible

 
A100:

Un error en términos de OOP, no en términos del resultado final. Si no entiende cuál es el error, vuelva a ver el vídeo, y luego una y otra vez, hasta que lo entienda

Por desgracia, no lo hará, el orador ni siquiera pudo responder a las preguntas de los estudiantes, las preguntas eran correctas.

Vayamos a lo práctico.

Sospecho que apoyas al autor del video, su nombre es Egor (así está escrito), el mensaje principal del video era entrar completamente en OOP - ¡el verdadero OOP!

OK! dar un ejemplo simple de cómo utilizar OOP como sugiere el autor, la tarea es simple, él mismo mencionó el trabajo con archivos y él mismo no pudo responder a la pregunta de los estudiantes

Utilizo la clase CFile con bastante regularidad - soy demasiado perezoso para escribir código adicional y estoy acostumbrado a utilizar código ya hecho, resuelve bien mis problemas

En su opinión, ¿qué es lo que hay que reescribir en CFile a partir de lo que ha dicho el autor del vídeo?