Une question pour les experts de la POO. - page 7

 
C'est tout, je suis parti pour apprendre la POO. Je répondrai à tout le monde quand je reviendrai).
 
Nikolai Semko:

N'épargne pas 45 minutes, Peter. Tout d'abord, il est très important de comprendre de quoi parle cet homme. Beaucoup le contrediront probablement, mais en général, il a raison :


Une conférence intéressante, mais trop de questions demeurent. Il parle de l'effet néfaste des setters et getters mais expliquez-moi, quelle est la différence, si j'introduis des erreurs dans les setters ou dans le constructeur ? Il s'avère donc que le SB MQL5 n'est qu'une grosse erreur ? Il y a beaucoup de tous ces setters et getters, n'est-ce pas ?

 
Alexey Viktorov:

Conférence intéressante, mais il reste trop de questions. Il parle ici de l'effet néfaste des setters et des getters, mais expliquez-moi, s'il vous plaît, quelle est la différence, où vous faites des erreurs, lorsque vous entrez certaines valeurs par le biais de setters ou dans le constructeur ? Il s'avère donc que le SB MQL5 n'est qu'une grosse erreur ? Il y a beaucoup de tous ces setters et getters, n'est-ce pas ?

a également regardé ces 45 minutes hier.... Eh bien, c'est comme si même les étudiants avaient mis l'auteur en pièces.

La théorie le dit bien : voici l'objet, il doit pouvoir tout faire - et il ne doit pas être lié au matériel car c'est vous qui commandez le PC, pas vous ! Si l'objet ne sait pas comment faire quelque chose, nous écrivons une autre petite classe, en pratique ce n'est pas le cas - si vous refusez de contrôler un objet, il y aura des blocs de code répétitifs, l'héritage résoudra partiellement ce problème, mais en général, au lieu de résoudre le problème, le programmeur obtient un tas d'objets (ou une montagne de douleur ? )))) et devront trouver comment gérer tout cela ....... Selon moi, si les géants de l'informatique ont écrit un code similaire à la logique, cela fonctionne, et les innovateurs, eh bien, ils l'ont toujours été et le seront, mais leurs résultats, pour une raison quelconque, ne sont pas visibles.

SZS : comment changer la couleur du bouton ? - tuer l'objet précédent et créer un nouveau bouton d'une couleur différente ? - et comment obtenir le statut de bouton ? - et s'il s'agit d'un schéma de couleurs composé de centaines de boutons - les tuer tous à nouveau et en créer d'autres ? ;)

 
Igor Makanu:

J'ai aussi regardé ceci pendant 45 minutes hier.... eh bien, c'est comme si même les étudiants avaient écrasé l'auteur

La théorie le dit bien : voici l'objet, il doit pouvoir tout faire - et tout cela ne doit pas être lié au matériel car c'est vous qui commandez le PC, pas le PC qui vous commande ! Si l'objet ne sait pas comment faire quelque chose, nous écrivons une autre petite classe, en pratique ce n'est pas le cas - si vous refusez de contrôler un objet, il y aura des blocs de code répétitifs, l'héritage résoudra partiellement ce problème, mais en général, au lieu de résoudre le problème, le programmeur obtient un tas d'objets (ou une montagne de douleur ? )))) et devront trouver comment gérer tout cela ....... Selon moi, si les géants de l'informatique ont écrit un code similaire à la logique, cela fonctionne, et les innovateurs, eh bien, ils l'ont toujours été et le seront, mais leurs résultats, pour une raison quelconque, ne sont pas visibles.

SZS : comment changer la couleur du bouton ? - tuer l'objet précédent et créer un nouveau bouton d'une couleur différente ? - et comment obtenir le statut de bouton ? - et s'il s'agit d'un schéma de couleurs composé de centaines de boutons - les tuer tous à nouveau et en créer d'autres ? ;)

Ce qui est amusant, c'est que même l'applicationinconsciente des principes de la POO donne des résultats tout à fait tangibles !

 
Alexey Viktorov:

Conférence intéressante, mais il reste trop de questions. Il parle ici de l'effet néfaste des setters et des getters, mais expliquez-moi, s'il vous plaît, quelle est la différence, où vous faites des erreurs, lorsque vous entrez certaines valeurs par le biais de setters ou dans le constructeur ? Il s'avère donc que le SB MQL5 n'est qu'une grosse erreur ? Il y a beaucoup de tous ces setters et getters.

Les développeurs ont fait tout ce qu'il fallait - la bibliothèque standard est axée sur le niveau d'entrée, et pour la plupart des tâches, elle est tout à fait suffisante. Pour écrire en POO (et pas seulement jongler avec les termes), il faut un niveau avancé et un certain type de réflexion. Si vous ne l'avez pas, vous pouvez toujours touttransformer en classes en pensant que c'est de la POO. Cela ne peut probablement pas être enseigné - la compréhension vient avec le temps.

 
A100:

Si vous ne l'avez pas, vous pouvez toujours tout envelopper dans des classes, en pensant que c'est de la POO.

Une fois de plus, vous essayez de montrer votre intelligence, mais malheureusement vous ne montrez pas vos exemples, et une fois de plus, vous essayez d'imaginer quelque chose pour des gens que vous ne connaissez pas, pour dire, pour...

imho, mesquin, méchant, essayant d'être méchant - en général ))))

 
Igor Makanu:

Une fois de plus, vous essayez de montrer votre intelligence, mais malheureusement vous n'en montrez pas d'exemples, et une fois de plus vous essayez de penser à quelque chose pour les gens que vous ne connaissez pas, à dire, à...

imho, mesquins, méchants, essayant d'être méchants - en général, ne vous laissez pas distraire ))))

Je montre les mauvais exemples - donnant ainsi une canne à pêche, mais pas de poisson.

 
A100:

Je montre de mauvais exemples - donnant ainsi une canne à pêche mais pas de poisson.

Qu'est-ce qui ne va pas ? Les exemples fonctionnent dans le testeur et dans le trading.

j'ai écrit à plusieurs reprises que si c'est pratique, cela signifie que cela peut et doit être utilisé

Déployer l'héritage pour des stratégies simples, dont chaque trader sur les forums Runet essaie d'inventer une douzaine chaque semaine, n'a dans la plupart des cas aucun sens, alors que mes exemples permettent de fournir une portabilité rapide du code prêt.

Si vous avez une question ou une suggestion spécifique, j'aimerais peut-être en discuter, sinon, quel est l'intérêt de discuter de quelque chose qui n'existe pas ?

 
Igor Makanu:

quelle est l'erreur ? les exemples fonctionnent à la fois dans le testeur et dans le commerce

L'erreur est du point de vue de la POO, pas du point de vue du résultat final. Si vous ne comprenez pas quelle est l'erreur, regardez à nouveau la vidéo, puis encore et encore, jusqu'à ce que vous compreniez. C'est la première fois que je vois cette vidéo, mais je ne pourrais pas l'expliquer de façon aussi simple et compréhensible.

 
A100:

Une erreur en termes de POE, pas en termes de résultat final. Si vous ne comprenez pas quelle est l'erreur, regardez la vidéo à nouveau, puis encore et encore, jusqu'à ce que vous compreniez...

Hélas, il n'en sera rien, l'orateur n'a même pas pu répondre aux questions des étudiants, qui étaient pourtant valables.

Passons aux aspects pratiques.

Je soupçonne que vous soutenez l'auteur de la vidéo, son nom est Egor (c'est écrit ainsi), le message principal de la vidéo était de passer complètement en POO - la vraie POO !

OK ! donnez un exemple simple de l'utilisation de la POO telle que suggérée par l'auteur, la tâche est simple, il a lui-même mentionné le travail avec des fichiers et il n'a pas pu répondre à la question des étudiants...

J'utilise la classe CFile assez régulièrement - je suis trop paresseux pour écrire du code supplémentaire et j'ai l'habitude d'utiliser du code tout fait, il résout bien mes problèmes.

À votre avis, qu'est-ce qui, dans CFile, devrait être réécrit en fonction de ce que l'auteur de la vidéo a dit ?

Raison: