ให้บอกว่าฉันมีคลาสศัตรูและตัวสร้างจะมีลักษณะดังนี้:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
สิ่งนี้ดูไม่ดีนักเนื่องจากตัวสร้างมีพารามิเตอร์มากมาย แต่เมื่อฉันสร้างอินสแตนซ์ของศัตรูฉันต้องระบุทุกสิ่งเหล่านี้ ฉันต้องการคุณลักษณะเหล่านี้ในคลาส Enemy เพื่อให้สามารถวนซ้ำรายการของพวกเขาและรับ / ตั้งค่าพารามิเตอร์เหล่านี้ ฉันคิดว่าอาจจะ subclassing Enemy เป็น EnemyB, EnemyA ในขณะที่ hardcoding maxHp ของพวกเขาและคุณลักษณะเฉพาะอื่น ๆ แต่จากนั้นฉันก็จะสูญเสียการเข้าถึงคุณลักษณะ hardcoded ของพวกเขาหากฉันต้องการย้ำผ่านรายการ EnemyA ของ EnemyA และ EnemyB EnemyC ของ)
ฉันแค่พยายามเรียนรู้วิธีการเขียนโค้ดให้สะอาด ถ้ามันสร้างความแตกต่างฉันทำงานใน Java / C ++ / C # จุดใดในทิศทางที่ถูกต้องจะชื่นชม