CodeGym /কোর্স /জাভা কোর /কীভাবে বিমূর্ত ক্লাস ব্যবহার করবেন

কীভাবে বিমূর্ত ক্লাস ব্যবহার করবেন

জাভা কোর
লেভেল 3, পাঠ 3
বিদ্যমান

"হ্যালো, অ্যামিগো! গতকাল আপনি বিমূর্ত ক্লাসের উপায়ে স্কুলে পড়েছিলেন। এখন আমাদের জ্ঞানকে আরও গভীর করার সময়। আমি আপনাকে বিমূর্ত ক্লাসগুলি কীভাবে সঠিকভাবে ব্যবহার করতে হয় তা শেখাতে চাই।"

একটি বিমূর্ত শ্রেণীর জন্য একটি বাস্তব-বিশ্বের সাদৃশ্য নিয়ে আসা কঠিন। একটি শ্রেণী সাধারণত কিছু সত্তার একটি মডেল। কিন্তু একটি বিমূর্ত শ্রেণীতে এমন পদ্ধতি রয়েছে যা প্রয়োগ করা হয়নি এবং প্রয়োগ করা হয়েছে এমন পদ্ধতি থাকতে পারে। ওটার মানে কি? একটি বিমূর্ত শ্রেণীর জন্য আমরা কি সাদৃশ্য খুঁজে পেতে পারি? বাস্তব জগতে কি এমন কিছু আছে?

আসলে, আছে. একটি পরিবাহক বেল্টে একটি প্রায় সমাপ্ত গাড়ির চেসিস কল্পনা করুন। আমি হয় একটি স্যুপ-আপ ইঞ্জিন বা একটি অত্যন্ত দক্ষ ইঞ্জিন ইনস্টল করতে পারি। হয় একটি চামড়ার অভ্যন্তর বা ফ্যাব্রিক গৃহসজ্জার সামগ্রী। গাড়ির সুনির্দিষ্ট বাস্তবায়ন এখনও নির্ধারণ করা হয়নি। আরও কি, চ্যাসিসটি বেশ কয়েকটি নির্দিষ্ট বাস্তবায়নের জন্য ব্যবহার করা যেতে পারে। কিন্তু কেউ চায় না গাড়িটি তার বর্তমান রূপে। এটি একটি ক্লাসিক বিমূর্ত শ্রেণী : এটির উদাহরণ তৈরি করা অর্থপূর্ণ হবে না, তাই আপনি সেগুলি তৈরি করতে পারবেন না; শ্রেণীটি কেবলমাত্র অনেক পূর্ণাঙ্গ উত্তরাধিকারীর কারণে অর্থবোধ করে যা এর ভিত্তিতে তৈরি করা হবে।

"এটা যথেষ্ট সহজ।"

তবে আরও বিমূর্ত সাদৃশ্য থাকতে পারে। কয়েকটি বাস্তবায়িত পদ্ধতি সহ ইন্টারফেসের মতো। উদাহরণস্বরূপ, একজন পেশাদার দোভাষীর কথা বিবেচনা করুন । উৎস এবং টার্গেট ভাষা উল্লেখ না করেই, আমাদের একটি « বিমূর্ত অনুবাদক » আছে। অথবা একজন দেহরক্ষী বিবেচনা করুন। আমরা হয়তো জানি যে সে মার্শাল আর্টে আয়ত্ত করেছে এবং তার ক্লায়েন্টকে রক্ষা করতে পারে। কিন্তু কোন মার্শাল আর্ট এবং কিভাবে তিনি ক্লায়েন্ট রক্ষা করবেন প্রতিটি নির্দিষ্ট দেহরক্ষীর "বাস্তবায়ন বিবরণ"।

আসুন একটি উদাহরণ দেখি:

জাভা কোড বর্ণনা
abstract class BodyGuard
{
 abstract void applyMartialArts(Attacker attacker);

 void shoot(Attacker attacker)
 {
    gun.shoot(attacker);
 }

 void saveClientLife(Attacker attacker)
 {
  if (attacker.hasGun())
     shoot(attacker);
  else
     applyMartialArts(attacker);
 }
}
বডিগার্ড ক্লাস নির্ধারণ করে কিভাবে আক্রমণের সাথে মোকাবিলা করতে হবে: গুলি করা বা মার্শাল আর্ট ব্যবহার করা।

যাইহোক, নির্দিষ্ট মার্শাল আর্ট নির্দিষ্ট করা হয়নি, যদিও আমরা নিশ্চিত যে দক্ষতা বিদ্যমান।

আমরা বেশ কয়েকটি ভিন্ন দেহরক্ষী তৈরি করতে পারি (এই শ্রেণীর উত্তরাধিকার সূত্রে)। তাদের সকলেই ক্লায়েন্টকে রক্ষা করতে এবং আক্রমণকারীকে গুলি করতে সক্ষম হবে।

"আপনি ঠিক বলেছেন। এটি অনেকটা বাস্তবায়িত কয়েকটি পদ্ধতির সাথে একটি ইন্টারফেসের মতো।"

"হ্যাঁ, স্ট্যান্ডার্ড জাভা এসই ক্লাসের মধ্যে এই ধরনের বিমূর্ত ক্লাস সাধারণ।"

3
কাজ
জাভা কোর, লেভেল 3, পাঠ 3
লক করা আছে
Code entry
Your attention, please! Now recruiting code entry personnel for CodeGym. Turn up your focus, let your fingers relax, read the code, and then... type it into the appropriate box. Code entry is far from a useless exercise, though it might seem so at first glance: it allows a beginner to get used to and remember syntax (modern IDEs seldom make this possible).
মন্তব্য
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION