[Monkey] Funktionsüberladung
Übersicht Andere Programmiersprachen Beginners-Corner
MidimasterBetreff: Funktionsüberladung |
Mi, Jul 18, 2012 12:20 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 |
Mi, Jul 18, 2012 14:02 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 |
Mi, Jul 18, 2012 14:15 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 |
Mi, Jul 18, 2012 19:14 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 |
Mi, Jul 18, 2012 21:40 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 |
Mi, Jul 18, 2012 21:48 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 |
Mi, Jul 18, 2012 22:03 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 |
Mi, Jul 18, 2012 22:08 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 Andere Programmiersprachen Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group