Disons que j'ai une classe Enemy, et le constructeur ressemblerait à quelque chose comme:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Cela semble mauvais parce que le constructeur a tellement de paramètres, mais lorsque je crée une instance Enemy, je dois spécifier toutes ces choses. Je veux également ces attributs dans la classe Enemy, afin de pouvoir parcourir une liste d'entre eux et obtenir / définir ces paramètres. Je pensais peut-être sous-classer l'ennemi en EnemyB, EnemyA, tout en codant en dur leur maxHp et d'autres attributs spécifiques, mais je perdrais ensuite l'accès à leurs attributs codés en dur si je voulais parcourir une liste d'ennemis (composée d'EnemyA, d'EnemyB et EnemyC).
J'essaie juste d'apprendre à coder proprement. Si cela fait une différence, je travaille en Java / C ++ / C #. Tout point dans la bonne direction est apprécié.