বাস্তবায়ন এবং বর্ধিতকরণের মধ্যে পার্থক্য

Anonim

বাস্তবায়ন বনাম বর্ধিত

বাস্তবায়ন এবং বর্ধিত হচ্ছে জাভা প্রোগ্রামিং ভাষাতে পাওয়া দুটি কীওয়ার্ড যা নতুন ক্লাসে যুক্ত কার্যকারিতা হস্তান্তর করার একটি মাধ্যম প্রদান করে। ইমপ্রেশন কিওয়ার্ড স্পষ্টভাবে একটি ইন্টারফেস প্রয়োগ করার জন্য ব্যবহৃত হয়, যখন এক্সটেন্ডেড কিওয়ার্ডটি (সুপার) ক্লাস থেকে উত্তরাধিকারসূত্রে ব্যবহার করা হয়। অনুগ্রহ করে লক্ষ্য করুন যে উত্তরাধিকার এবং ইন্টারফেসের ধারণাগুলি অন্যান্য অবজেক্ট ভিত্তিক প্রোগ্রামিং ভাষা যেমন C # এবং VB- তে বিদ্যমান। নেট, কিন্তু তারা এই ধারণাগুলি প্রয়োগ করার জন্য বিভিন্ন সিনট্যাক্স বা কীওয়ার্ড প্রদান করে। এই নিবন্ধটি শুধুমাত্র জাভাতে সংজ্ঞায়িত অভিব্যক্তি এবং বর্ধিত কীওয়ার্ডগুলিতে দৃষ্টি নিবদ্ধ করে।

বর্ধিত

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

--২ ->

বাস্তবায়নগুলি

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

বাস্তবায়ন এবং বর্ধিতকরণের মধ্যে পার্থক্য

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