[Monkey] Funktionsüberladung
Übersicht

![]() |
MidimasterBetreff: Funktionsüberladung |
![]() Antworten mit Zitat ![]() |
---|---|---|
für meine GUI wäre eine Funktionsüberladung sehr hilfreich. Aber irgendwie will das nicht laufen. Was mache ich denn da falsch?
BlitzBasic: [AUSKLAPPEN] Global B:BasisEx= New BasisEx |
||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
Nova |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei BlitzMax müssen überschriebene Methoden die gleichen Parameter haben. Wie sieht das bei Monkey aus?
Wird irgendeine Fehlermeldung ausgegeben oder wie äußert sich "irgendwie will das nicht laufen"? |
||
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
genau, er sagt mir, dass die Anzahl der Parameter nicht stimmt. Aber genau das wäre ja, was Monkey angeblich kann. "Overriding method does not match any overridden Method". Bei gleicher Anzahl Parameter geht es natürlich, aber das wäre ja nix besonderes.... | ||
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nova: Er will die Methode überladen. Nicht überschreiben.
Midimaster: Geht es denn, wenn du eine von den Methoden verschiebst, sodass beide in derselben Klasse stehen? Ich kenne mich mit Monkey zwar nicht aus, aber kann es sein, dass du für die Überladung noch ein extra Schlüsselwort o.ä. brauchst? |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Global B:BasisEx= New BasisEx Sowas gibt es in Monkey nicht. Alles wird in Main() gestartet und dann mit Klassen definiert. |
||
Farbfinsternis.tv |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah ... folgendes...
Du kannst innerhalb einer Klasse Methoden überladen, Du kannst sie aber nicht in einer abgeleiteten Klasse überschreiben. Wenn Du also eine Methode mit einem Parameter anlegst, kannst Du in einer abgeleiteten Klasse nicht plötzlich zwei Parameter definieren. Wenn Du das willst musst Du in der Basis-Klasse eine virtuelle Methode anlegen, allerdings greift dann "Super" nicht mehr. |
||
Farbfinsternis.tv |
![]() |
Farbfinsternis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Triple Post ... bestimmt werde ich gleich verbannt ...
Habe es selbst nicht geschafft Dein Beispiel zum Laufen zu bewegen und nun im engl. Forum nachgefragt ... mal gucken. |
||
Farbfinsternis.tv |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du weißt, wie du dich verhalten sollst, warum tust du's dann trotzdem nicht?
Editieren funktioniert hier wie überall auch und innerhalb von 20 Minuten geht der Nachtrag wohl kaum unter... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group