title image


Smiley ich brauche ja keine Angst zu haben, dass das Anika liest ...
Was Anika schreibt ist ein ganz begrenzter und sehr spezieller Fall.

Das hat vor allen Dingen was mit Object- orientierten Programmieren zu tun. Sie geht dabei mehr auf vorhandene Klassen ein. Tabellenblätter, Application , Forms usw. in Klassenmodulen kann man " benutzerdefinierte Klassen" bauen. Die Struktur ist aber gleich. Diese Art der Programmierung unterteilt sich in 2 Teile, einmal den Clientteil und einmal den Serverteil. Der Server repräsentiert der Code in Deinem Klassenmodul, der Client im Anwendercode z.b. Dein Zeugs auf den Forms oder Modulen. Von dort kann man die Klassen über Methoden, Eigenschaften anspreichen, Ereignisse können in Klassen definiert werden. z.B. Klasse application, dort kann man die Eigenschaft visible auf true setzen. Dein Clientcode : application.visible = True, der Code in der Klasse bleibt Dir verborgen, es passiert irgendwas ... und du brauchst diesen Code auch nicht. Man spricht z.B. hier von Kapselung. Es ist nicht nötig etwas von aussen zu parametrieren ! Das ist eigentlich der Sinn ..

In erster Linie hat das was mit Programmübersichtlichkeit zu tun, man kann gut programmierten Klassen 1:1 in andere Projekte einbauen.

Dort werden sie instanziiert und schon sind diesem Project die Eigenschaften und Methoden bekannt. Ich habe z.B. Excelhilfsprogramme 1 : 1 in Wordprojecte übertragen ohne den Code ändern zu müssen, und endlos Arbeit gespart.

Ja und solche Klassen kann man sich easy selber bauen . z.B.

Ich prüfe den Code jetzt nicht..



' Code im Klassenmodul

option explicit



dim Al_Bundys_Dollars as long



public property get Als_Dollars() as long ' Eigenschaft

Als_Dollars = Al_Bundys_Dollars

end property



public property let Als_Dollars( Dol as long )

Al_Bundys_Dollars = dol

end property



public sub vermehre_Als_Geld() ' Methode

Al_Bundys_Dollars = Al_Bundys_Dollars + 1

end sub



Und die Klasse heist "Bundy"



Auf Modulebene mußt Du nun die Klasse instanziieren um dies dem Project bekannt zu machen.



z.B. public al as New Bundy

( Man nennt das frühe Bindung )





So nun kannst Du auf die Klasse wie gewohnt zugreifen



Sub teste_Als_konto_und_vermehre_es()

msgbox cstr(al.Als_Dollars)

al.vermehre_Als_Geld

end sub



Das ist nur ein ganz winziger Ausschnitt aus dem was man damit machen kann, da gibts Vererbung, Collections, Polymorphie Ereignisse und und aber dafür gibts Goggle



Ich kann Dir nur raten, arbeite viel damit größere Sachen überblickst Du sonst nicht mehr ....



Andreas







































Weitergehende Sachen über objectorientiertes Programmieren würde hier den Rahmen sprengen.





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: