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

Anonim

সমতা বিভাগ বনাম ইন্টারফেস

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

একটি সমতা ক্লাস কি?

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

--২ ->

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

ইন্টারফেস কি?

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

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

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