আসুন বলুন যে আমার একটি শত্রু শ্রেণি রয়েছে, এবং নির্মাতা এর মতো দেখতে পাবেন:
public Enemy(String name, float width, float height, Vector2 position,
float speed, int maxHp, int attackDamage, int defense... etc.){}
এটি দেখতে খারাপ দেখাচ্ছে কারণ কনস্ট্রাক্টরের অনেকগুলি পরামিতি রয়েছে, তবে যখন আমি শত্রু ঘটনা তৈরি করি তখন আমাকে এই সমস্ত জিনিস নির্দিষ্ট করতে হবে। আমি শত্রু শ্রেণিতে এই বৈশিষ্ট্যগুলিও চাই, যাতে আমি তাদের একটি তালিকা দিয়ে পুনরাবৃত্তি করতে পারি এবং এই পরামিতিগুলি পেতে / সেট করতে পারি। আমি ভাবছিলাম যে শত্রুকে তাদের ম্যাকএইচপি, এবং অন্যান্য নির্দিষ্ট বৈশিষ্ট্যগুলিকে হার্ডকোড করার সময় এনেমিবি, এনেমিএতে সাবক্লাসিং করছিলাম, তবে তারপরে যদি আমি শত্রুর একটি তালিকা (অ্যানিমিয়ার, শত্রু, এবং শত্রুদের সমন্বয়ে গঠিত) এর মাধ্যমে পুনরুক্তি করতে চাই তবে আমি তাদের হার্ডকোডযুক্ত বৈশিষ্ট্যগুলির অ্যাক্সেস হারিয়ে ফেলতাম EnemyC এর)।
আমি কীভাবে পরিষ্কারভাবে কোডিং করব তা শেখার চেষ্টা করছি। যদি এটি কোনও পার্থক্য করে তবে আমি জাভা / সি ++ / সি # তে কাজ করি। সঠিক দিকের যে কোনও পয়েন্ট প্রশংসা করা হয়।