Hãy nói rằng tôi có một lớp Enemy và hàm tạo sẽ trông giống như:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Điều này có vẻ tệ bởi vì hàm tạo có rất nhiều tham số, nhưng khi tôi tạo một đối tượng Enemy, tôi cần chỉ định tất cả những điều này. Tôi cũng muốn các thuộc tính này trong lớp Enemy, để tôi có thể lặp qua danh sách của chúng và nhận / đặt các tham số này. Tôi đã nghĩ có thể phân nhóm Enemy vào EnemyB, EnemyA, trong khi mã hóa maxHp của chúng và các thuộc tính cụ thể khác, nhưng sau đó tôi sẽ mất quyền truy cập vào các thuộc tính được mã hóa cứng của chúng nếu tôi muốn lặp qua danh sách Enemy (bao gồm EnemyA, EnemyB's và Kẻ thù).
Tôi chỉ đang cố gắng học cách viết mã sạch. Nếu nó làm cho một sự khác biệt, tôi làm việc trong Java / C ++ / C #. Bất kỳ điểm nào đi đúng hướng đều được đánh giá cao.