OOP mit VBA?
Hallo, ich möchte gern eine Rätsellösung in VBA schreiben (Thema: Slitherlink).
Natürlich möchte ich auch mal anfangen mit OOP. Nun verstehe ich zwar das Grundprinzip, aber so richtig kann ich damit nichts anfangen gg.
Kennt jemand ein Tutorial wo Schritt für Schritt erklärt wird WARUM was gemacht werden muss? Also wenn da schon eine fertige Software vorliegt und nur da steht "du brauchst das" und ich kapiere nicht WARUM ich das brauche, nutzt mir das wenig :-)
Oder könnte jemand sowas schreiben? MIr würde auch vollkommen sowas reichen für Tic-Tac-Toe oder so. Muss ja nix kompliziertes sein. Und bitte was praktisches. Nix mit "Oberklasse Tier" und Untereigenschaft "Geräusch" etc. Das ist mir zu theoretisch gg.
2 Antworten
Ich versuch dir das mal runter zu brechen.
Also OOP wie schon der Name sagt sind hier Objekte, also kleine Maschinchen die ihre Aufgabe erfüllen. Aus einer Klasse lässt sich ein Objekt abbilden, das wie eine Zahl oder ein String in eine Variable gespeichert wird.
Mit dem Namen der Variable lässt sich ein Objekt, das erstellt wurde ansprechen und auf die mit Public gekennzeichneten Methoden und Properties kann man zugreifen.
Damit ein Objekt erzeugt wird, gibt es einen Konstruktor, das ist eine spezielle Methode, die den Namen der Klasse trägt und das erzeugte Objekt z.B. mit übergebenen Parametern initialisiert.
Jetzt kommt der Clou, diese Methode kann mehrfach verwendet werden, in dem man gleiche Methoden mit dem Namen der Klasse mit unterschiedlichen Parametern bereitstellt, die dann das Objekt auf unterschiedliche weise "befüllt" (initialisiert)
Aber bis hier ist es noch kein OOP, es ist nämlich möglich eine Art Oberklasse zu erstellen, die aber kein konkretes Objekt darstellen kann aber als eine abstrakte Klasse zu verschiedenen Unterklassen mutieren (eine Klasse kann mit "inherits" von einer anderen Klasse alles übernehmen) kann, diese dann davon Eigenschaften und Methoden erbt.
Damit es spannender wird, diese Unterklassen können die geerbten Methoden "verbiegen" also überschreiben und z.B. was anderes machen als in der "Mutterklasse" vererbt wird.
Als gute Lektüre empfehle ich die Programmiervideos von Herrn Jörn Lovischach
https://www.youtube.com/channel/UCogSE6uiJyiL31IG-tlxBAw
Ja sorry, alles Theorie. Konkret habe ich kein Beispiel für ein auf OOP basiertes Tic Tac Toe. Ich hab zwar mal eins in c# erstellt aber das geht an OOP vorbei.
Vielleichthilft Dir das Buch "Objektorientierte Programmierung mit Visual Basic 2008" von Manfred Schüttengruber.
Danke für deine Antwort. Das Video muss ich mir später ansehen. Hab bis zum WE keine Zeit :-(
Aber ... das ist die Theorie. Und dazu habe ich bereits schon Bücher gelesen und insoweit verstanden :-). Bei mir hakt es jetzt an der Umsetzung. Was (und vor allem: Warum) muss ich konkret machen, damit ich - zb bei Tic-Tac-Toe - 3 Spielsteine habe a 2 Farben die ich setzen, bewerten und verschieben kann (so kenne ich das mit dem Verschieben).
Oder Schach-Figuren, Dame, mein Slitherlink-Konstrukt (möchte ich in Excel machen; geht als solches) ...