VB6 - Klassen: Funktionen Private?

nerddestroyer

Grünschnabel
Servus Leute,

ich hab ne Klasse gebaut, und die functionen innerhalb der klasse auf PRIVATE gesetzt.

Wieso kann ich jetzt außerhalb der klasse auf diese Funktion nicht zugreifen? In der Regel hat das doch nur was mit vererbung innerhalb der klassen zutun.

Wenn ich es auf Public setze, geht es...ist aber nicht richtig.

Was mache ich falsch?
 
Hallo nerddestroyer.

Private heißt, dass es nur von diesem Modul (Form, Klasse, etc.) aus verfügbar ist.
Public heißt, dass es vom ganzen Projekt aus verfügbar ist.

Liebe Grüße

Philipp9494
 
ich hab unter "Formulare" meine Form....irgendwo dadrin ist jetzt mein Klassenobjekt von der Klasse "class1", die unter "Klassenmodule" ist.

in der "class1" hab ich eine Function, die Private ist. Wieso kann ich jetzt von dem Formular nicht auf diese Function der Klasse zugreifen?
 
Hallo..

Hier ein kleiner Beispiel-Code:
Code:
Private Sub Form_Load()
dim klasse as new class1 'Damit sagen wir das Klasse ein Type von classe1 ist
klasse.meine_funktion(52, "abs") 'wenn nun die Funktion meine_Funktion Public ist kann 
'man darauf zugreifen, 52 ist z.B. der erste Parameter, "abs" ist der zweite...
End sub

Lg

Philipp9494
 
Ja genau, das habe ich so verstanden, danke :o)

Aber so funktionieren oos normalerweise nicht. Auf die Funktionen sollte auch zugegriffen werden können,wenn sie private sind. Sie sind dann nur für die klasse private und können nicht weiter vererbt werden.

Anscheinend ist VB6 nicht wirklich objekt-orientiert.
 
Hallo nerddestroyer,

welche Sprachen meinst Du? Nehmen wir z.B. JAVA (schon reichlich objektorientiert) - auch da kann auf private-deklarierte Methoden via Instanziierung nicht zugegriffen werden. Und das macht auch Sinn...

Im Übrigen stellt VB6 nicht den Anspruch auf umfangreiche Objektorientierung.
 
Zurück