Katakanlah saya memiliki kelas Musuh, dan konstruktor akan terlihat seperti:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
Ini terlihat buruk karena konstruktor memiliki begitu banyak parameter, tetapi ketika saya membuat contoh Musuh saya perlu menentukan semua hal ini. Saya juga ingin atribut ini di kelas Musuh, sehingga saya bisa beralih melalui daftar mereka dan mendapatkan / mengatur parameter ini. Saya berpikir mungkin mensubklasifikasikan Musuh menjadi Musuh, Musuh, sementara hardcoding maxHp mereka, dan atribut spesifik lainnya, tetapi kemudian saya akan kehilangan akses ke atribut hardcoded mereka jika saya ingin beralih melalui daftar Musuh (terdiri dari EnemyA, EnemyB, dan EnemyC's).
Saya hanya mencoba mempelajari cara membuat kode dengan bersih. Jika ada bedanya, saya bekerja di Java / C ++ / C #. Titik mana pun di arah yang benar dihargai.