
Ich programmiere jetzt seit 35 Jahren und bin daher natürlich mit den grundsätzlichen Prinzipien bestens vertraut. Allerdings habe ich nur Erfahrung in funktionaler Programmierung.
Jetzt habe ich mir vorgenommen Python und Objektorientierte Programmierung zu lernen. Das grundsätzliche Konzept der OOP habe ich größtenteils verstanden und auch die Sinnhaftigkeit die dahinter steht. Allerdings habe ich ein paar Verständnisfragen und hoffe, sie hier beantwortet zu bekommen.

Um mich in OOP einzuarbeiten habe ich mir erstmal ein einfaches Ziel gesetzt, nämlich ein Pong-Spiel zu programmieren. Zum Einen liebe ich Pong (Habe selbst zwei uralte Pong-Konsolen) und zum Anderen ist es, da es auch nicht zu komplex ist, für einen Anfänger wie mich zum Einstieg gut geeignet, denke ich.
Ich weiß, daß es massig Pong-Tutorials für Python gibt, aber ich bin kein Freund von Copy&Paste, sondern möchte mir das selbst erarbeiten. Nur so lerne ich und nur so kann ich später auf diesem neu erlernten Wissen aufbauen.
Soviel zu meinem Hintergrund und zu meiner Motivation. Nun zu meiner Frage...
Ich möchte die Paddles und auch den Ball als Objekte erstellen. Normalerweise müsste man das bei solch einem kleinen Beispiel nicht, aber es geht mir ja darum OOP zu lernen und ich möchte so flexibel sein, daß ich zwei Paddles und einen Ball genauso einfach erstellen kann, wie 10 Paddles und hundert Bälle.
Nun habe ich gesehen, daß es verschiedene Arten von Methoden gibt und ich bin mir nicht sicher welche für mein kleines Projekt am sinnvollsten wäre.
Wäre es besser die regulären Methoden(self) zu nutzen und dann beispielsweise durch new_paddle = Paddle() ein Paddle zu erstellen oder sollte ich lieber Klassenmethoden(cls) nutzen, um die 'create_paddle'-Methode innerhalb der Klasse zu haben und nur die aufrufen zu müssen ?
Und wie wäre das, wenn man viele Objekte zur Laufzeit generieren muss ? Also zum Beispiel bei Asteroids (Die, die vor 1990 geboren wurden, wissen wovon ich rede.

Ich hoffe, ich habe alles verständlich erklären können. Falls Fragen offen sind, dann einfach fragen.
Und wenn jemand eine Antwort für mich hat, würde ich mich sehr darüber freuen.
