Nehmen wir an, ich habe eine Enemy-Klasse und der Konstruktor würde ungefähr so aussehen:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Das sieht schlecht aus, weil der Konstruktor so viele Parameter hat, aber wenn ich eine Enemy-Instanz erstelle, muss ich all diese Dinge angeben. Ich möchte diese Attribute auch in der Enemy-Klasse haben, damit ich eine Liste von ihnen durchlaufen und diese Parameter abrufen / festlegen kann. Ich dachte, ich könnte Enemy in EnemyB, EnemyA unterteilen, während ich deren maxHp und andere spezifische Attribute fest codiere, aber dann würde ich den Zugriff auf ihre fest codierten Attribute verlieren, wenn ich eine Liste von Enemy (bestehend aus EnemyA's, EnemyB's und EnemyA's) durchlaufen wollte EnemyC's).
Ich versuche nur zu lernen, wie man sauber codiert. Wenn es einen Unterschied macht, arbeite ich in Java / C ++ / C #. Jeder Punkt in die richtige Richtung wird geschätzt.