Ich bin ein alter Java-Fuchs und kenne mich daher ganz gut mit dem OOP aus, aber bei meiner jetzigen Aufgabe habe ich da so meine Probleme.
Es geht darum, dass ich nicht weiß, was ich alles in die eine Klasse an Methoden reinstecken soll, bzw. besser ein neues Objekt kreiieren soll.
Man stelle sich folgendes Problem vor:
Man hat ein Klasse Auto, die hat Attribute, wie u.a. die Wagenfarbe. Jetzt besteht meine Hauptaufgabe darin, Methoden zu entwickeln, die die Farbe des Wagens ändern. Und auch Methoden, die z.B. das Auto tunen.
Diese Methoden sind sehr komplex, da sie die Hauptarbeit des Programms machen.
Nach meinem objektorientierten Verstehen, verändern diese Methoden die Attribute des Objekts und gehören somit in die selbe Klasse.
Das Problem ist aber, dass ich dann eine riesen aufgeblähte Klasse Auto habe. - Deshalb habe ich mir dann gedacht, dass ich eine neue Klasse Färberei und Werkstatt schreibe. Diese Klassen bekommen dann ein Auto als Parameter übergeben, bearbeiten es und hinten raus kommt das modifizierte Auto. - Das gefällt mir dann aber auch nicht so richtig unter dem Punkt OOP, da ja dann die Färberei und die Werkstatt auf die Attribute von Auto zugreifen müssen.
Was ist die eleganteste Lösung?
Nebenbei habe ich mir überlegt (da ich mit c++ arbeiten muss), einfach die Klasse Auto von der Lackiererei und der Werkstatt erben zu lassen.
Es geht darum, dass ich nicht weiß, was ich alles in die eine Klasse an Methoden reinstecken soll, bzw. besser ein neues Objekt kreiieren soll.
Man stelle sich folgendes Problem vor:
Man hat ein Klasse Auto, die hat Attribute, wie u.a. die Wagenfarbe. Jetzt besteht meine Hauptaufgabe darin, Methoden zu entwickeln, die die Farbe des Wagens ändern. Und auch Methoden, die z.B. das Auto tunen.
Diese Methoden sind sehr komplex, da sie die Hauptarbeit des Programms machen.
Nach meinem objektorientierten Verstehen, verändern diese Methoden die Attribute des Objekts und gehören somit in die selbe Klasse.
Das Problem ist aber, dass ich dann eine riesen aufgeblähte Klasse Auto habe. - Deshalb habe ich mir dann gedacht, dass ich eine neue Klasse Färberei und Werkstatt schreibe. Diese Klassen bekommen dann ein Auto als Parameter übergeben, bearbeiten es und hinten raus kommt das modifizierte Auto. - Das gefällt mir dann aber auch nicht so richtig unter dem Punkt OOP, da ja dann die Färberei und die Werkstatt auf die Attribute von Auto zugreifen müssen.
Was ist die eleganteste Lösung?
Nebenbei habe ich mir überlegt (da ich mit c++ arbeiten muss), einfach die Klasse Auto von der Lackiererei und der Werkstatt erben zu lassen.