ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য

ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য
ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য

ভিডিও: ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য

ভিডিও: ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য
ভিডিও: তার ও ক্যাবলের মধ্যে পার্থক্য গুলো কি কি? Difference between Wire and Cable | Wire vs Cable | 2024, ডিসেম্বর
Anonim

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

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

প্রসারিত হয়

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

বাস্তবায়ন

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

ইমপ্লিমেন্ট এবং এক্সটেনডের মধ্যে পার্থক্য

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

প্রস্তাবিত: