[VBA] Was sind Module, Klassen, Objekte...

-eraz-

Commodore
Dabei seit
Juni 2004
Beiträge
4.270
... eine Prozedur usw.

Hallo erstmal! :)

Ich zieh mir gerade ein Buch rein "Jetzt lerne ich Visual Basic" bin derzeit auf Seite 100 und hab auch die ganzen Beispiele und so locker mitmachen können. Nun fängt aber das Buch an mir erklären zu wollen was Klassen, Objekte, Module usw. sind bzw. wie diese Funktionieren. Aber es hilf mir nichts zu Wissen wie diese Funktionieren wenn ich nicht (be)greifen kann was das überhaupt ist bzw. wo die Unterschiede liegen.
Ich möchte für den Anfang nur mal eine babyeinfache Erklärung haben die mir in ein bis zwei Sätzen sagt worum es sich z.b. bei einem Modul Prinzipiell handelt. Alles weitere kommt dann eh von alleine denke ich mal, aber zz kann ich nichtmal ein Modul von einem Apfel Unterscheiden. :D :(

Hat vielleicht jemand Quellen oder eine kurze Erkärungen für mich? :)
 

TK-Shockwave

Lt. Commander
Dabei seit
März 2003
Beiträge
1.263
Goolge mal na OOD / OOA / OOP "Objekt Oriented Design/Architecture/Programming".

Dies sind Paradigmen die von der Struktuierten Programmierung weggehen, hier werden Klassen, Objekte und Vererbung.

Klassen sind Beschreibung von Objekten, ungefähr wie die reale Welt.

Vererbung (Generalisierung, Datenkapsellung (Encapsulation),

Objekte werden aus Klassen instanziiert.

Das Motto ist hier auch "reusability" also Widerverwertbarkeit des Codes.

z.B: Ein Auto hat ein Motor doch der Fahrer muss nicht wissen wie dieser Moto funktioniert.
Er muss nur das Auto lenken, starten, fahren können. -> Datenkapsellung. Es gibt auch verschiedene Wagenklassen Combi, Sportvan was auch immer von Auto kann man mehrere Subklassen bilden. Auto würde hier als Bauplan für weitere Autoklassen dienen.Generalisierung/Spizialisierung/Vererbung
 
Zuletzt bearbeitet:
Dabei seit
Sep. 2004
Beiträge
221
objektorientierte programmierung in 2 sätzen geht leider nicht ganz. wär zwar schön ...
da wären ja alle die wie ich ihre brötchen mit sowas verdienen doof :)

ein objekt kann sehr unterschiedliches sein.
es kann zum beispiel ein button in deiner eingabemaske sein, aber auch eine verbindung zu einer datenbank.
ein objekt hat sog. eigenschaften, die du ansprechen kannst.
z.b. bei einem button die sichtbarkeit
diese eigentschaften kannst du dann in vb ansprechen knopf1.visible = false.
somit wäre das ding dann unsichtbar.

eine prozedur ist ein programmteil den du seperat programmierst und dann an anderer stelle aufrufst.
wenn du zum beispiel eine funktionalität in deinem programm öfters brauchst, wie z.b. eine eingabeprüfung, lagerst du sie in eine funktion oder prozedur aus und musst sie dann nur einmal programmieren, weil du sie immer wenn du sie brauchst einfach aufrufen kannst.

klassen sind so ziemlich das komplizierteste was es gibt.
eine klasse ist ein objekt in dem du daten und programmcode speicherst.
die du dann ähnlich einer funktion ansprechen kannst.

ich hab da noch ein paar sehr gute pdfs zu hause, wenn du da interesse dran hast schreib mir mal ne pm dann schick ich dir das zeug zu.

gruß

der :D hans
 

-eraz-

Commodore
Ersteller dieses Themas
Dabei seit
Juni 2004
Beiträge
4.270
@TK-Shockwave
Danke :freak: :D
War nur ein bisschen schwierig für mich die zusammenhänge in deiner Erklärung zu finden.

@derlachendehans
Danke deine Erkläung hat mir schonmal sehr geholfen. Mein Arbeitskollege hat es mal so versucht mir zu erklären:
Eine Klasse ist z.b. ein Auto. Ein Auto besteht aus einem Motor einem Getriebe, scheibenwischer, lichtanlage usw. und mit Objekten (die in der Klasse enhalten sind?) kann ich diese einzeln ansprechen. Ich weiß, ist eine Babyerklärung :D aber ich muss ja nur mal das Prinzip verstehen, was haltet ihr von dieser Erklärung?


Zitat von derlachendehans:
ich hab da noch ein paar sehr gute pdfs zu hause, wenn du da interesse dran hast schreib mir mal ne pm dann schick ich dir das zeug zu.
Da sag ich nicht nein. :)
 

Arnd

Lieutenant
Dabei seit
Jan. 2005
Beiträge
926
Hallo -eraz-,

das reale Auto ist ein Objekt, einfach deswegen weil man es anfassen kann.

Die Klasse dazu ist die Beschreibung wie das Auto zusammengebaut wird und aus welchen Teilen es besteht und wie diese zusammen funktionieren.
Ein Klasse ist etwas abstraktes, eine Beschreibung von Objekten, wie diese aussehen und strukturiert sind.

Die Einzelteile des Autos sind dann sicher auch wieder Objekte, die ihre eigene Klasse haben. Schliesslich wird ein Getriebe auch aus verschiedenen Einzelteilen zusammengebaut.

Ein Modul wäre dann z.b. die Garage in der mehrere Autos parken. Hier wird die Analogie aber schwierig. Ich will nicht sagen das ein Modul aus mehreren Objekten besteht :-). Ein Modul enthält die Beschreibung verschiedener Klassen (=Autos).

Eine Methode, Prozedur oder Funktion wäre dann z.B. Motor anlassen oder blinken.

MfG

Arnd
 
Zuletzt bearbeitet:

TK-Shockwave

Lt. Commander
Dabei seit
März 2003
Beiträge
1.263
Mir gings auch ums Paradigma für OOA / OOD.
Arnd hats nochmal einfach aufgetröselt.

Ich habe schon den Hintergrund des ganzen beleuchtet.
eraz. Es ist wichtig die fundamentalem Muster von Klassen/Objekten zu verstehen.
Dazu schau einfach mal bei google oder www.omg.org (UML)

Klassen sind sehr einfach, schließlich denken wir mehr an Objekte als an prozedurale Vorgänge. Okay Ansichtssache. Aber in C++/Java/VB/C#/PHP etc. recht simpel ;-) Man muss einfach nur den Sinn(Zweckmäßigkeit) dahinter verstehen. Wie ich sagte- man muss nicht wissen wie ein getriebe funktioniert um eine Auto zu fahren. ein Aspekt der OOP/OOD.
 
Top