Diciamo che ho una classe Enemy, e il costruttore sarebbe simile a qualcosa:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Questo sembra male perché il costruttore ha tanti parametri, ma quando creo un'istanza di Enemy ho bisogno di specificare tutte queste cose. Voglio anche questi attributi nella classe Enemy, in modo che io possa scorrere un elenco di essi e ottenere / impostare questi parametri. Stavo pensando di creare sottoclassi di Enemy in EnemyB, EnemyA, mentre codificavo il loro maxHp e altri attributi specifici, ma poi avrei perso l'accesso ai loro attributi hardcoded se avessi voluto scorrere un elenco di Enemy (composto da EnemyA, EnemyB e, di EnemyC).
Sto solo cercando di imparare a codificare in modo pulito. Se fa la differenza, lavoro in Java / C ++ / C #. Qualsiasi punto nella giusta direzione è apprezzato.