OOP, Vorlagen und Makros in mql5, Feinheiten und Anwendungen - Seite 11
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
dynamische Besetzung zum Vergleich? Sind Sie verrückt?
Die Ausführungszeit ist mir in diesem Fall egal, der Typ kann auch auf andere Weise definiert werden, z. B. durch eine virtuelle Überschreibungsfunktion. Der Code wurde auf der Stelle in 10 Minuten geschrieben, um das Prinzip zu zeigen und ist keine funktionierende Variante
Was ist der Sinn von CBase? Und warum sollten 2 Werte desselben Typs verglichen werden?
Sie haben also einen semantischen Fehler: Die Begriffe Comparer und Comparable sind durcheinander geraten. Der erste ist ein Comparer (eine unabhängige Klasse), während der zweite eine Schnittstelle für das zu vergleichende Objekt ist (d.h. er vergleicht dieses mit einem anderen Objekt). Dieses Objekt kann dieses
Sie haben also einen semantischen Fehler. Die Begriffe Comparer und Comparable werden verwechselt. Der erste ist ein Comparer (eine unabhängige Klasse) und der zweite ist eine Schnittstelle zu dem zu vergleichenden Objekt (d.h. er vergleicht dieses mit einem anderen Objekt).
Meine Number ist einfach der Comparable-Typ, und die Schnittstelle ist der Comparer-Typ, und sie sind auch in Sharp irgendwie clever verknüpft. In diesem Fall wirken sie sich gegenseitig aus. Ich sage Ihnen, es war nicht mein Ziel, genau diese Struktur dort zu kopieren. Hier soll gezeigt werden, wie man eine vorlagenbasierte Schnittstelle erstellen kann, die notwendigerweise von einer der zu vergleichenden Klassen geerbt wird. Das ist der Mechanismus, den ich bei Ihnen gesehen habe, und er hat mir gefallen.
Sie haben IComparer aus irgendeinem Grund von Number geerbt, obwohl es sich um völlig unterschiedliche Entitäten handelt.
Ich habe hier nach dem Typ des Objekts der Basisklasse nummeriert, nun ja, sehr grob, ich habe mir nicht das Ziel gesetzt, eine funktionierende Architektur auf 100 Zeilen zu präsentieren. Aber alles wird trotzdem von einem gemeinsamen Vorfahren abstammen
Hier arbeiten sie sich gegenseitig ab.
Number kann die Schnittstelle IComparable erben und über eine eigene Methode auch IComparer für seinen Typ zurückgeben.
Number ist nicht wirklich eine Zahl, sie hat nicht einmal ein Wertfeld, wie Sie feststellen können. Ich habe es einfach so genannt... Ok, wenn etwas für mich funktioniert, dann biete ich an, es zu diskutieren, aber in der Zwischenzeit, wenn mein Beispiel überhaupt nicht passt, vergessen Sie es einfach.
Number ist nicht wirklich eine Zahl, sie hat nicht einmal ein Wertfeld, wie Sie feststellen können. Ich habe es einfach so genannt... OK, wenn ich mit einer praktikablen Lösung aufwarten kann, biete ich an, sie zu diskutieren, aber in der Zwischenzeit, wenn mein Beispiel überhaupt nicht funktioniert, lassen Sie es einfach aus Ihrem Kopf