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

লেখক: Laura McKinney
সৃষ্টির তারিখ: 2 এপ্রিল 2021
আপডেটের তারিখ: 10 মে 2024
Anonim
জাভাতে বিমূর্ত শ্রেণী এবং ইন্টারফেসের মধ্যে পার্থক্য | ইন্টারফেস বনাম বিমূর্ত শ্রেণী
ভিডিও: জাভাতে বিমূর্ত শ্রেণী এবং ইন্টারফেসের মধ্যে পার্থক্য | ইন্টারফেস বনাম বিমূর্ত শ্রেণী

কন্টেন্ট


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

  1. তুলনা রেখাচিত্র
  2. সংজ্ঞা
  3. মূল পার্থক্য
  4. উপসংহার

তুলনা রেখাচিত্র

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


ক্লাস সংজ্ঞা

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

শ্রেণি শ্রেণি_নাম {/ * ক্ষেত্র ... পদ্ধতি * /

যখন কোনও শ্রেণি তাত্ক্ষণিকভাবে তৈরি করা হয় তখন তৈরি প্রতিটি বস্তুতে তাদের সাথে ক্ষেত্র এবং পদ্ধতিগুলির একটি অনুলিপি থাকে। শ্রেণীর ভিতরে ঘোষিত ক্ষেত্র এবং সদস্যগুলি স্থির বা ননস্ট্যাটিক হতে পারে। স্থিতিশীল সদস্যের মান প্রতিটি বস্তুর জন্য স্থির থাকে তবে অ স্থিতিশীল সদস্যরা প্রতিটি বস্তুর দ্বারা প্রয়োজনীয়তার সাথে আলাদা আলাদাভাবে আরম্ভ করা হয়।


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

ইন্টারফেস সংজ্ঞা

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

ইন্টারফেস ইন্টারফেস_নাম {টাইপ var_name = মান; টাইপ পদ্ধতি 1 (পরামিতি-তালিকা); টাইপ পদ্ধতি 2 (পরামিতি-তালিকা); । । }

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

একবার তৈরি করা একটি ইন্টারফেস কোনও কীওয়ার্ড ব্যবহার করে যে কোনও শ্রেণীর দ্বারা প্রয়োগ করা যেতে পারে সরঁজাম। তবে একটি ইন্টারফেস প্রয়োগকারী ক্লাসগুলি অবশ্যই একটি ইন্টারফেসের অভ্যন্তরে সমস্ত পদ্ধতি নির্ধারণ করে। একটি ইন্টারফেস ব্যবহার করে অন্য ইন্টারফেসের উত্তরাধিকারীও হতে পারে প্রসারিত করা শব্দ। যদি কোনও শ্রেণি একটি ইন্টারফেস প্রয়োগ করে যা অন্য ইন্টারফেসটিকে প্রসারিত করে। তারপরে একটি শ্রেণীর অবশ্যই একটি চেইনে উপস্থিত উভয় ইন্টারফেসের পদ্ধতিগুলি নির্ধারণ করতে হবে। একটি ইন্টারফেসের মধ্যে থাকা পদ্ধতিগুলি সর্বদা সর্বজনীন হতে হবে কারণ তাদের প্রয়োগকারী ক্লাসগুলির দ্বারা তাদের অ্যাক্সেস করতে হবে।

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

  1. কোনও শ্রেণি তার অবজেক্ট তৈরি করে তাত্ক্ষণিক হতে পারে। একটি ইন্টারফেস কখনই তাত্ক্ষণিক হয় না কারণ কোনও ইন্টারফেসের অভ্যন্তরে ঘোষিত পদ্ধতিগুলি বিমূর্ত এবং কোনও ক্রিয়া সম্পাদন করে না, তাই কোনও ইন্টারফেস তাত্ক্ষণিকভাবে ব্যবহার করার সুযোগ নেই।
  2. একটি শ্রেণিবদ্ধ একটি কীওয়ার্ড ক্লাস ব্যবহার করে ঘোষিত হয়। একইভাবে, একটি কীওয়ার্ড ইন্টারফেস ব্যবহার করে একটি ইন্টারফেস তৈরি করা হয়।
  3. কোনও শ্রেণীর সদস্যদের পাবলিক, প্রাইভেট, সুরক্ষিত যেমন অ্যাক্সেস স্পেসিফার থাকতে পারে। তবে ইন্টারফেসের সদস্যরা সর্বদা সর্বজনীন থাকে কারণ তাদের প্রয়োগকারী ক্লাসগুলির দ্বারা তাদের অ্যাক্সেস করতে হবে।
  4. শ্রেণীর অভ্যন্তরীণ পদ্ধতিগুলি শ্রেণিতে ঘোষিত ক্ষেত্রগুলিতে ক্রিয়া সম্পাদনের জন্য সংজ্ঞায়িত করা হয়। ক্ষেত্রগুলির ঘোষণায় ইন্টারফেসের অভাব হওয়ায় একটি ইন্টারফেসের অভ্যন্তরের পদ্ধতিগুলি সম্পূর্ণ বিমূর্ত।
  5. একটি শ্রেণি যে কোনও সংখ্যক ইন্টারফেস বাস্তবায়ন করতে পারে তবে কেবলমাত্র একটি সুপার ক্লাস প্রসারিত করতে পারে। একটি ইন্টারফেস বহু সংখ্যক ইন্টারফেস প্রসারিত করতে পারে তবে কোনও ইন্টারফেস প্রয়োগ করতে পারে না।
  6. একটি বর্গের ভেরিয়েবলটি আরম্ভ করার জন্য এটির ভিতরে নির্ধারক নির্ধারক রয়েছে। তবে, কোনও ইন্টারফেসের কোনও নির্মাণকারী নেই কারণ প্রাথমিকভাবে ক্ষেত্র নেই। একটি ইন্টারফেসের ক্ষেত্রগুলি কেবলমাত্র তাদের ঘোষণার সময় শুরু হয়।

উপসংহার:

উভয় শ্রেণি এবং ইন্টারফেসের নিজস্ব গুরুত্ব রয়েছে। একটি শ্রেণি ব্যবহার করা হয় যখন আমাদের কীভাবে কাজটি করা হবে তা নির্ধারণ করতে হবে। কোন কাজটি করতে হবে তা যখন আমাদের জানতে হবে তখন একটি ইন্টারফেস ব্যবহার করা হয়।