On the Fly Methoden? [Gelöst][Geht nicht!]
Übersicht

![]() |
ComNikBetreff: On the Fly Methoden? [Gelöst][Geht nicht!] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Guten Abend,
ich fürchte nein, aber: Gibt es eine Möglichkeit Methoden eines Types (also nicht abstract), on the Fly zu definieren? Also das jedes Objekt eine individuelle Methode kriegt, die aber den gleichen Namen hat wie alle anderen. Wie gesagt ich denke es gibt keine, und ich muss wohl oder übel externe Funktionen per Funktionszeiger nutzen. Danke auf jeden Fall, lg ComNik |
||
WIP: Vorx.Engine |
- Zuletzt bearbeitet von ComNik am Di, Feb 09, 2010 16:23, insgesamt einmal bearbeitet
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Frage ist wohl eher die, was du damit machen willst. Ich kann mir nämlich jetzt noch keinen rechten Reim draus machen was du vorhast.
hamZta |
||
Blog. |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich will eine spezielle Art von "Bedingungs" Type. Jedes Objekt dieser Klasse braucht natürlich eine individuelle "Check" Methode.
Lg, ComNik |
||
WIP: Vorx.Engine |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Da wirst Du um einen Function Pointer wohl nicht rumkommen. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dachte ich mir.
Trotzdem Danke ![]() lg ComNik |
||
WIP: Vorx.Engine |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Meinst du das vielleicht so?
BlitzMax: [AUSKLAPPEN] Type TBaseCondition |
||
Blog. |
![]() |
Progger93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube er meint es eher so:
BlitzMax: [AUSKLAPPEN]
Was natürlich nich geht. |
||
MfG Pascal
Win 7|T7250@2.0Ghz|3GB RAM|M8600GT |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Progger hat es erfasst. Abstract benötigt ja einen erbenden Type und das kann ich nicht nutzen.
Tja geht leider nicht. Nurmal so interresse halber, geht so was in anderen Sprachen? Gibts das überhaupt ![]() lg ComNik |
||
WIP: Vorx.Engine |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Funktionspointer in Verbindung mit Lua Skripten?
Du hast ja praktisch neben Hardcoden kaum eine Wahl, oder? |
||
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) |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ne, das gibts so in keiner (mir bekannten) Sprache. Ich kann mir auch ganz ehrlich nicht vorstellen wozu man das gebrauchen könnte. Vielleicht beschreibst du dein Problem mal genauer?
lg, hamZta |
||
Blog. |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Java-Beispiel (aus der kalten, daher vllt nich ganz exakt):
Code: [AUSKLAPPEN] // Button erstellen
JButton button = new JButton("Klick mich!"); // mit dem Interface ActionListener können wir den Code festlegen, der bei Klick ausgeführt werden soll // dazu wird eine abstrakte Methode "on-the-fly" implementiert button.addActionListener( new ActionListener() { @Override public void onAction() { // *was tolles machen* buttonWurdeGeklickt(); } }); Ich glaub "onAction" heißt anders, ändert ja aber nix am Prinzip. Ich find sowas praktisch. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Stimmt das ist Praktisch, wird aber wahrscheinlich intern auch durch Pointer gelöst oder?
@hamzta: Progger hat es doch gut gezeigt an seinem Codebeispiel Ich versuche einfach das jedes Objekt eines Types eine individuelle Methode hat. lg ComNik |
||
WIP: Vorx.Engine |
jsp |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielleicht sowas, falls die Functionpointer noch nicht das richtige sind und es wirklich Methoden sein sollen:
Jedes Object vom Type TCondition hat eine individuelle Methode, hier die check Methode. Ist zwar auch abstract, aber man vererbt nicht direkt etwas sondern überschreibt nur die entsprechende Methode. Code: [AUSKLAPPEN] Type TCondition
Field TheCondition:TSpecialCondition Method Check() TheCondition.Check() End Method Method Something() Print "aha" End Method '... Function Create: TCondition (TheCondition: TSpecialCondition) Local Condition: TCondition = New TCondition Condition.TheCondition = TheCondition Return Condition End Function End Type Type TSpecialCondition Abstract Method Check() Abstract End Type Type MyCondition Extends TSpecialCondition Method Check() Print "bla" End Method Function Create: TCondition () Local SpecialCondition: MyCondition = New MyCondition Local Condition: TCondition = TCondition.Create(SpecialCondition) Return Condition End Function End Type Type MyCondition2 Extends TSpecialCondition Method Check() Print "blub" End Method Function Create: TCondition () Local SpecialCondition: MyCondition2 = New MyCondition2 Local Condition: TCondition = TCondition.Create(SpecialCondition) Return Condition End Function End Type Local cond1:TCondition = MyCondition.Create() Local cond2:TCondition = MyCondition2.Create() cond1.Check() cond1.Something() cond2.Check() cond2.Something() |
||
Logic Gui Professional a Gui Designer for MaxGui |
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
[quote="ComNik"]@hamzta: Progger hat es doch gut gezeigt an seinem Codebeispiel
Ich versuche einfach das jedes Objekt eines Types eine individuelle Methode hat.[quote] Die Umsetzungsfrage hab ich schon kapiert, meine Frage war was du damit erreichen bzw. umsetzen willst. Das Java-Beispiel finde ich persönlich nicht schön und würde ich auch aus Übersichtsgründen wohl nie verwenden, aber das ist ja Geschmackssache. Sauberer finde ich da meine Lösung, einfach Vererbung dafür benutzen. lg, hamZta |
||
Blog. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group