OOP- C#

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Nur mit Methoden programmiert man auch nicht objekt orientiert (vll solötest du damit anfangen nachzuschlagen, was OOP eigentlich ist). Ich nehme mal an, dass dein Programm momentan in einer Klasse geschrieben steht, die die beiden Spielfelder verwaltet und so ? Das ist natürlich schlecht, da der Programmierstil nicht so toll ist (aber dafür haben wir ja OOP) . Jetzt wird das Projekt in sofern strukturiert, als das wir bestimmte Teile auf verschiedene Klassen verteilen. Durch Datenkapselung (die Attribute sind privat) erhöhen wir die Sicherheit unseres Programms, da nicht jeder auf alles zugreifen kann und durch Vererbung und Polymorphismus können wir das Programm dpäter auch besser warten oder erweiternb

Mein Programm besteht bis jetzt nur aus dem namespace, class Programm und Main :D Mehr nicht... ich weiß nicht ganz was ich in welche Klasse tun soll... z.b. die Schiffe, die zur Auswahl stehen in eine Klasse, die Spielfelder..... oder wie.. Muss ich alles Doppelt (Spieler 1/ Spieler 2) machen, oder nicht? Ich kann zwar schon eine Klasse erstellen... und auch Felder (private) erstellen und die mit Hilfe von set und get nutzen.... und auch das mit den Konstruktoren funktioniert.... die Methode ToString() habe ich auch überschrieben (alles nur als Test, ob ich das hinkriege) aber ich weiß nicht in welche Klasse ich jetzt was machen muss :)

@Lisaabab

(Spieler 1/ Spieler 2)

Das sind dann Instanzen der Spielerklasse

Hi,

ich weiß wovon du sprichst ;). Und es ist unheimlich schwer zu vermitteln was der Vorteil daran sein soll. Dass du mit prozedualen Code quasi nur Spaghetti-Code schreibst ist dir ja selber aufgefallen :). Mit OOP lässt sich die reale Welt viel besser im Code abbilden und wenn es gut strukturiert ist auch besser erweitern/ändern/usw.

Kann dir nur das Buch "Entwurfsmuster von Kopf bis Fuß" ans Herz legen. Da lernt man so einiges darüber.

Was möchtest Du wissen?