Powiedzmy, że mam klasę wroga, a konstruktor wyglądałby mniej więcej tak:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Wygląda to źle, ponieważ konstruktor ma tak wiele parametrów, ale kiedy tworzę instancję wroga, muszę określić wszystkie te rzeczy. Chcę również tych atrybutów w klasie Enemy, abym mógł iterować ich listę i uzyskać / ustawić te parametry. Myślałem, że może podklasę Enemy do EnemyB, EnemyA, jednocześnie kodując ich maxHp i inne specyficzne atrybuty, ale wtedy straciłbym dostęp do ich zakodowanych atrybutów, gdybym chciał iterować listę EnemyA (składającą się z EnemyA, EnemyB i EnemyC).
Próbuję tylko nauczyć się, jak kodować w sposób czysty. Jeśli to robi różnicę, pracuję w Javie / C ++ / C #. Doceniany jest każdy punkt we właściwym kierunku.