Fragen bzgl. Klassen in VB6

16/06/2009 - 21:32 von Rüdiger Lehmann | Report spam
Hallo,

ich wage mich an Klassen heran und habe dazu einige Fragen:

1) In [1] steht: "Mit Polymorphismus meint man die Eigenschaft, Objekte
aus anderen Objekten zu erstellen, auch Vererbung genannt." Ich dachte
immer mit Polymorphismus meint man das Überladen von Funktionen oder
Operatoren. Ist das falsch?
2) In [1] steht, dass man keine Vererbung z.V. hat. Ist das richtig?
3) Kann man bei diesen Interfaces keine Eigenschaften (Public Property
Get/Let ...) programmieren?

MfG
R.L.

[1] <http://www.activevb.de/tutorials/tu...nchor3>
 

Lesen sie die antworten

#1 Harald M. Genauck
17/06/2009 - 00:59 | Warnen spam
Hallo Rüdiger,

ich wage mich an Klassen heran und habe dazu einige Fragen:



Zunàchst einmal vorab gefragt: Du bist sicher, dass Du mit VB6
arbeitest, nicht mit VB.NET? Denn bei letzterem wàre das besagte
Tutorial das falsche.

1) In [1] steht: "Mit Polymorphismus meint man die Eigenschaft,
Objekte aus anderen Objekten zu erstellen, auch Vererbung genannt."
Ich dachte immer mit Polymorphismus meint man das Überladen von
Funktionen oder Operatoren. Ist das falsch?



Beides ist falsch.

Da VB6 (und früher) gar keine Vererbung kennt, ist die Verwendung
dieses Begriffs eher sogar völliger Quatsch.

"Polymorphismus" (auch "Polymorphie") làsst sich am besten mit der
Formulierung "... ist ein ..." verdeutlichen:

Ein 'Opel' "ist ein" 'Auto'.

Über Interfaces làsst sich in VB6 Polymorphismus erreichen. Das
bedeutet, dass eine Klasse namens "Opel", die das Interface "Auto"
implementiert, denn auch als "Auto" betrachtet werden kann. In der
Praxis heißt das beispielsweise, dass ein "Opel" auch einer als "Auto"
deklarierten Variablen zugewiesen bzw. als ein als "Auto" deklarierter
Parameter übergeben werden kann.

2) In [1] steht, dass man keine Vererbung z.V. hat. Ist das richtig?



Völlig richtig - siehe oben.

Genauso zutreffend wie auch genauso sinnvoll wàre übrigens die Aussage:
"In VB6 hat meinen keinen Kühlschrank zur Verfügung."
;-)

3) Kann man bei diesen Interfaces keine Eigenschaften (Public
Property Get/Let ...) programmieren?



Natürlich kann man das. Da es in VB6 keine besondere Möglichkeit gibt,
Interfaces anzulegen, sondern ein Interface einfach nur eine Klasse
ist, deren Prozeduren (Methoden und Eigenschaften) leer sind, kann man
dort eben auch leere Eigenschaften-Prozeduren (Get ... bzw. Let/Set)
anlegen. Bei der Implementierung eines solchen Interfaces werden dann
eben die Eigenschaften-Prozeduren "mit Leben gefüllt".


Viele Grüße

Harald M. Genauck

"ABOUT Visual Basic" - http://www.aboutvb.de (Herausgeber)
"VISUAL STUDIO one" - http://www.visualstudio1.de (Chefredakteur)

Ähnliche fragen