Il est également intéressant de savoir comment créer une hiérarchie d'objets ou de groupes. Par exemple, il y a plusieurs catégories, chaque catégorie contient un groupe avec un nombre n d'objets. Quelles méthodes de construction de hiérarchies le concept de POO suggère-t-il ?
La mise en œuvre d'une hiérarchie doit permettre des transitions faciles entre ses parties et ses niveaux dans la boucle. Si vous construisez une hiérarchie à l'intérieur d'un tableau, vous vous retrouverez avec beaucoup d'espace vide. S'il est construit à partir d'un complexe de tableaux, il ne permettra pas de boucler librement les liens. Que suggère la POO ?
Comment faire une boucle OOP sur les objets et leurs propriétés ?
Par exemple, j'exécute une boucle comme suit
CObj obj[]; ... for (int i=0;i<ArraySize(obj);obj[i++].CheckSomething(param));Ça donne quelque chose comme ça. Et à l'intérieur de la classe, dans la méthode CheckSomething(), toute la logique est mise en œuvre.
Ça donne quelque chose comme ça. Et à l'intérieur de la classe, dans la méthode CheckSomething(), toute la logique est mise en œuvre.
Merci. D'abord, nous assemblons le tableau obj[] à partir des objets, puis nous faisons une boucle ?
Et qu'en est-il de la hiérarchie ? Et nous parlons de hiérarchie statique. Constant et immuable.
Merci. D'abord, nous assemblons le tableau obj[] à partir des objets, puis nous faisons une boucle ?
Et qu'en est-il de la hiérarchie ? Nous parlons d'une hiérarchie statique. Constant et immuable.
class Class1{ ... }; class Class2{ ... }; class Class3{ Class1 class1; Class2 class2; ... };
Nous créons donc une hiérarchie de classes, puis nous rassemblons tous leurs objets dans une classe distincte et nous les parcourons en boucle ?
Cela dépend de ce dont vous avez besoin, mais en principe de cette façon. Vous convenez que c'est beaucoup plus élégant que vos tableaux. Et étant donné que je soupçonne fortement que leurstableaux multidimensionnels ne sont pas réellement des tableaux, puisqu'ils ne peuvent pas être passés dans une dll, l'overhead des appels de fonction pourrait bien être le même.
Comment boucler sur les objets et leurs propriétés en POO?
et à travers eux faire une boucle à travers tous les liens ?
Utilisez une terminologie commune, non seulement vous pourrez induire l'autre personne en erreur avec votre question, mais vous serez sûr que votre question trouvera une réponse.
OOP Wiki - termes ici.
pour votre information, vous pouvez faire des tableaux d'instances d'objets (voir ci-dessus) ou regarder les sources WndContainer.mqh et ArrayObj.mqh , elles sont utilisées pour créer des panneaux graphiques basés sur CPanelDialog (voir ndicators\Examples\Panels\SimplePanel pour un exemple prêt), mais elles fonctionnent avec des pointeurs et des listes
Cela dépend de ce que vous recherchez, mais en principe, c'est comme ça. Vous convenez que c'est beaucoup plus élégant que vos tableaux. Et étant donné que je soupçonne fortement que leurs tableaux multidimensionnels ne sont pas réellement des tableaux, puisqu'ils ne peuvent pas être passés dans une dll, l'overhead des appels de fonction pourrait bien être le même.
Eh bien, peut-être plus élégamment, je ne discuterai pas. Je suis très soucieux de l'aspect pratique, de l'opportunité, de la simplicité et de la commodité, et je considère toute syntaxe comme "l'ennemi du peuple", car elle requiert de l'attention, de l'analyse, génère des erreurs et entrave la perception. C'est pourquoi j'essaie d'utiliser des constructions de code aussi simples et même primitives que possible. L'essentiel est qu'ils soient faciles à lire et efficaces.
Bien sûr, il y a un hic dans la hiérarchie. Si nous le faisions dans un tableau, les boucles offriraient plus d'opportunités pour analyser les liens, les groupes, les sous-groupes, les sous-sous-groupes, etc... Mais la mémoire sera utilisée de manière inefficace. Si nous utilisons des classes, cela semble être une solution idéale. Mais c'est pour une hiérarchie "morte". Pour une image. Mais si nous devons créer un moteur qui fonctionne avec lui, j'ai peur qu'ici tout l'enfer se déchaîne)).
Merci. D'abord, nous assemblons le tableau obj[] à partir des objets, puis nous faisons une boucle ?
Et qu'en est-il de la hiérarchie ? Nous parlons d'une hiérarchie statique. Constant et immuable.
Utilisez une terminologie commune, vous risquez non seulement d'embrouiller votre interlocuteur avec votre question, mais vous aurez la certitude qu'il a répondu à votre question.
OOP Wiki - termes ici.
pour un sujet donné, vous pouvez faire des tableaux d'instances d'objets (voir les réponses ci-dessus) ou regarder les sources WndContainer.mqh et ArrayObj.mqh , elles sont utilisées pour créer des panneaux basés sur CPanelDialog (vous pouvez trouver un exemple prêt dans le dossier ndicators\Examples\Panels\SimplePanel ), mais elles fonctionnent avec des pointeurs et des listes
Dans la POO, le terme "objet" désigne une référence à une classe dans laquelle ses champs (propriétés) sont déclarés. Par "objet", j'entends un ensemble numéroté de propriétés, chacune d'entre elles étant une cellule d'un tableau. C'est là toute la différence.
Les questions ne sont pas liées au sujet des interfaces graphiques. J'ai depuis longtemps contourné les bibliothèques graphiques et je n'ai rien à y chercher. Mais, maintenant, je m'intéresse à l'IA, qui soulève de nouveaux défis et de nouvelles questions.
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Comment faire une boucle OOP sur les objets et leurs propriétés ?
Par exemple, j'exécute une boucle comme suit