Допустим, у меня есть класс Enemy, и конструктор будет выглядеть примерно так:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Это выглядит плохо, потому что конструктор имеет так много параметров, но когда я создаю экземпляр Enemy, мне нужно указать все эти вещи. Я также хочу, чтобы эти атрибуты были в классе Enemy, чтобы я мог перебирать их список и получать / устанавливать эти параметры. Я подумал, может быть, подкласс Enemy в EnemyB, EnemyA, в то время как жестко запрограммировал их maxHp и другие специфические атрибуты, но тогда я бы потерял доступ к их жестко закодированным атрибутам, если бы захотел перебрать список Enemy (состоящий из EnemyA, EnemyB и EnemyC ы).
Я просто пытаюсь научиться правильно кодировать. Если это имеет значение, я работаю в Java / C ++ / C #. Любая точка в правильном направлении приветствуется.