Das Forentreffen 2018 findet am 20./21. April in Dresden statt. Weitere Infos hier
Zur Homepage des Deutschsprachige Xbase-Entwickler e. V.
Xbase++-Wiki des Deutschsprachige Xbase-Entwickler e. V.

Was bedeutet SUPER im CLASS Code ?

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
BIK
UDF-Programmierer
UDF-Programmierer
Beiträge: 66
Registriert: Di, 23. Aug 2011 14:34

Was bedeutet SUPER im CLASS Code ?

Beitrag von BIK » Do, 08. Dez 2016 11:58

Hallo Hubert!
METHOD HBColorButton:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
SUPER:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
Was hat es mit dem SUPER in deinem Code auf sich?

Gruß,
Bernhard

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13765
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: HBColorButton - Farbe im Buttontext !

Beitrag von brandelh » Do, 08. Dez 2016 15:25

BIK hat geschrieben:Was hat es mit dem SUPER in deinem Code auf sich?
ruft die SUPER Klasse auf, also hier ::XbpPushButton()
Gruß
Hubert

BIK
UDF-Programmierer
UDF-Programmierer
Beiträge: 66
Registriert: Di, 23. Aug 2011 14:34

Re: HBColorButton - Farbe im Buttontext !

Beitrag von BIK » Do, 08. Dez 2016 16:00

Herzlichen Dank!!

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13765
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Was bedeutet SUPER im CLASS Code ?

Beitrag von brandelh » Do, 08. Dez 2016 16:32

Ich hab das mal ausgelagert, da es mit dem ursprünglichen Thema nichts zu tun hatte und die Beiträge der Wissensdatenbank kurz sein sollen.
Gruß
Hubert

BIK
UDF-Programmierer
UDF-Programmierer
Beiträge: 66
Registriert: Di, 23. Aug 2011 14:34

Re: Was bedeutet SUPER im CLASS Code ?

Beitrag von BIK » Do, 08. Dez 2016 16:52

Danke auch fürs auslagern, wird nun doch etwas länger.
Man möge mir meine Unwissenheit verzeihen, aber ich muss da noch einmal nachhaken.

Ist das mit einer bestimmten Version verbunden? ( ich habe 1.90.331 )

Gruß,
Bernhard

Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 13765
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Kontaktdaten:

Re: Was bedeutet SUPER im CLASS Code ?

Beitrag von brandelh » Do, 08. Dez 2016 16:55

Ist das mit einer bestimmten Version verbunden? ( ich habe 1.90.331 )
ja, ich meine SL1, also 1.90.355, aber man kann es auch einfach auf alte Schreibweise umsetzen:

SUPER nach ::XbpPushButton ändern.

Gründe warum man das so macht ...

Code: Alles auswählen

// alte Schreibweise, immer noch gültig !
CLASS HBColorButton FROM XbpPushButton
METHOD HBColorButton:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
   * Methode der Superklasse ausführen
   ::XbpPushButton:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
NACHTEIL: sollte ich eine Klasse dazwischen schieben wollen, müsste ich die Zeile immer ändern

Code: Alles auswählen

// etwas moderner !
METHOD HBColorButton:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
SUPER:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
VORTEIL: unabhängig vom tatsächlichen SUPER Klassennamen, ist Cut & Paste einfacher und auch eingefügte Klassen stimmen bei gleichen Parametern automatisch

Eigentlich sollte es noch einfacher gehen, aber ich habe damit schlechte Erfahrungen gemacht (eventuell schon verbessert ?)

Code: Alles auswählen

// Noch einfacher wäre  !
METHOD HBColorButton:init( oParent, oOwner, aPos, aSize, aPresParam, lVisible )
SUPER
NACHTEIL: Parameter müssen identisch sein und die zumindest in vorherigen Versionen kam der Zeilenzähler durcheinander
Gruß
Hubert

BIK
UDF-Programmierer
UDF-Programmierer
Beiträge: 66
Registriert: Di, 23. Aug 2011 14:34

Re: Was bedeutet SUPER im CLASS Code ?

Beitrag von BIK » Do, 08. Dez 2016 20:43

Wie immer herzlichen Dank für die ausführliche Erklärung!

Gruß,
Bernhard

Antworten