Diciamo che ho una classe Enemy, e il costruttore sarebbe simile a:
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 così tanti parametri, ma quando creo un'istanza Enemy ho bisogno di specificare tutte queste cose. Voglio anche questi attributi nella classe Enemy, in modo da poter scorrere un elenco di questi e ottenere / impostare questi parametri. Stavo forse pensando di sottoclasse 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 iterare attraverso un elenco di Enemy (composto da EnemyA, EnemyB e EnemyC di).
Sto solo cercando di imparare a programmare in modo pulito. Se fa la differenza, lavoro in Java / C ++ / C #. Ogni punto nella giusta direzione è apprezzato.