Woran macht ihr fest/ sollte man festmachen, wenn man objektorientiert programmiert, wo die Logik hinkommt?
Also z.B. wenn ich die Klasse Auto habe. Dann macht es Sinn, alle Daten des Autos (max. Geschwindigkeit, Räder, Gewicht) da unterzubringen. Wenn ich nun eine Methode "fahren" will, warum sollte man das als Methode von Auto definieren (Auto.fahre_nach(x,y)) statt eine Methode "bewege_auto(auto)" zu schreiben?
Ich tu mich da immer noch schwer damit und komme meist irgendwann an den Punkt, wo das eine oder das andere besser gewesen wäre oder mein Code inkonsistent wird. In der Folge hab ich meist nur Datenklassen (structs in c++, bei Python öfter mal nur dictionaries) und Funktionen, die mit diesen Datenklassen was anfangen.
Ganz provokant gefragt: wozu sollte ich bei Python Klassen benutzen, statt einfach alles mit Funktionen und dicts zu lösen?