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

Anonim

সমতা ক্লাস বনাম ইন্টারফেস জাভাতে

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

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

--২ ->

পার্থক্য

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

দৃশ্যমানতা পদ্ধতিগুলি বা একটি বিমূর্ত ক্লাসের সদস্যদের জন্যও সম্ভব, যা জনসাধারণ, সুরক্ষিত, ব্যক্তিগত বা অন্য কোনও ব্যক্তির মত পরিবর্তন করতে পারে অন্যদিকে, ইন্টারফেসের দৃশ্যমানতা কেবলমাত্র একটি দৃশ্যমানতা মোডে প্রিসেট হতে পারে যা "পাবলিক" '"

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

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

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

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

সারসংক্ষেপ

  1. স্ট্যাটিক এবং চূড়ান্ত টেবিল রয়েছে এমন ইন্টারফ্রেসের বিপরীতে সমতুল্য শ্রেণী ক্ষেত্র স্ট্যাটিক বা চূড়ান্ত নয়।

  2. কোন বাস্তবায়ন কোড ইন্টারফেসে ব্যবহার করা যাবে না যখন এটি বিমূর্ত ক্লাসে ব্যবহার করা যাবে।

  3. ইন্টারফেসের দৃশ্যমানতা কেবলমাত্র পাবলিক হতে পারে যখন বিমূর্ত ক্লাসের দৃশ্যমানতা পরিবর্তন হতে পারে।

  4. একটি বিট ক্লাস স্বয়ংক্রিয়ভাবে বস্তু শ্রেণী উত্তরাধিকারী হবে, কিন্তু এটি ইন্টারফেসে সম্ভব নয়।

  5. বাস্তবায়ন ইন্টারফেসের তুলনায় সমতা বিভাগ দ্রুততর।