OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য

সুচিপত্র:

OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য
OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য

ভিডিও: OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য

ভিডিও: OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য
ভিডিও: উত্তরাধিকার বনাম পলিমরফিজম | OOP-তে উত্তরাধিকার এবং পলিমরফিজমের পার্থক্য 2024, জুন
Anonim

মূল পার্থক্য - ওওপিতে পলিমরফিজম বনাম উত্তরাধিকার

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

OOP-তে পলিমারফিজম কী?

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

ওভারলোডিং

জাভাতে লেখা নিচের প্রোগ্রামটি পড়ুন।

ওওপিতে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য
ওওপিতে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য

চিত্র 01: ওভারলোডিং

উপরের প্রোগ্রাম অনুসারে, A টাইপের একটি অবজেক্ট তৈরি করা হয়েছে। কল করার সময় obj.sum(); এটি মেথড sum() সম্পর্কিত আউটপুট দেবে। obj.sum(2, 3) কল করার সময়; এটি যোগফল (int a, int b) সম্পর্কিত আউটপুট দেবে। এটি লক্ষ্য করা যায় যে পরিস্থিতির উপর নির্ভর করে একই বস্তুর বিভিন্ন আচরণ রয়েছে। যখন একই নামের একাধিক পদ্ধতি থাকে, কিন্তু বিভিন্ন পরামিতি সহ, তখন এটি ওভারলোডিং হিসাবে পরিচিত।এটি স্ট্যাটিক বাইন্ডিং বা কম্পাইল টাইম পলিমারফিজম নামেও পরিচিত।

ওভাররাইডিং

আরেকটি পলিমরফিজম ওভাররাইড করছে। জাভাতে লেখা নিচের প্রোগ্রামটি পড়ুন।

OOP_Figure 02-এ পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য
OOP_Figure 02-এ পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য

চিত্র 02: ওভাররাইডিং

উপরের প্রোগ্রাম অনুসারে, A ক্লাসে একটি মেথড ডিসপ্লে() আছে। ক্লাস B ক্লাস A থেকে প্রসারিত। অতএব, ক্লাস A-এর সমস্ত মেথড ক্লাস B দ্বারা অ্যাক্সেসযোগ্য। এটি উত্তরাধিকার। উত্তরাধিকার ধারণাটি আরও পরে বর্ণিত হয়েছে৷

ক্লাস B-তেও একই পদ্ধতির ডিসপ্লে () আছে। A টাইপ এবং কলিং ডিসপ্লে পদ্ধতির একটি অবজেক্ট তৈরি করার সময়, আউটপুট B দেবে। ক্লাস A ডিসপ্লে পদ্ধতি ক্লাস B প্রদর্শন পদ্ধতি দ্বারা ওভাররাইড করা হয়। সুতরাং, আউটপুট হল B.

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

OOP-তে উত্তরাধিকার কি?

জাভাতে লেখা নিচের প্রোগ্রামটি পড়ুন।

OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে মূল পার্থক্য
OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে মূল পার্থক্য

চিত্র 03: উত্তরাধিকারের উদাহরণ

উপরের প্রোগ্রাম অনুযায়ী, ক্লাস A এর মেথড যোগ () এবং ক্লাস B এর মেথড সাব() আছে।

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

উত্তরাধিকারের প্রকার

বিভিন্ন ধরনের উত্তরাধিকার রয়েছে। সেগুলি হল একক-স্তরের উত্তরাধিকার, বহু-স্তরের উত্তরাধিকার, একাধিক উত্তরাধিকার, শ্রেণিবদ্ধ উত্তরাধিকার এবং হাইব্রিড উত্তরাধিকার৷

একক উত্তরাধিকার

একক উত্তরাধিকারে, একটি সুপার ক্লাস এবং একটি সাব ক্লাস রয়েছে। যদি ক্লাস A হয় সুপার ক্লাস এবং ক্লাস B হল সাব ক্লাস, তবে A ক্লাসের সমস্ত বৈশিষ্ট্য এবং পদ্ধতি B শ্রেণী দ্বারা অ্যাক্সেসযোগ্য। শুধুমাত্র একটি স্তর আছে; তাই একে বলা হয় একক-স্তরের উত্তরাধিকার।

মাল্টি-লেভেল ইনহেরিটেন্স

মাল্টি-লেভেল ইনহেরিটেন্সে ক্লাসের তিনটি স্তর রয়েছে। ইন্টারমিডিয়েট ক্লাস সুপার ক্লাস থেকে উত্তরাধিকারসূত্রে পাওয়া যায়। সাব ক্লাস ইন্টারমিডিয়েট ক্লাস থেকে উত্তরাধিকার সূত্রে প্রাপ্ত। A, B এবং C হিসাবে তিনটি শ্রেণী থাকলে এবং A হল সুপার ক্লাস এবং B হল মধ্যবর্তী শ্রেণী। তারপর A থেকে B এবং B থেকে C উত্তরাধিকার সূত্রে প্রাপ্ত, এটি একটি বহু-স্তরের উত্তরাধিকার।

একাধিক উত্তরাধিকার

একাধিক উত্তরাধিকারে, অনেকগুলি সুপার ক্লাস এবং একটি সাব ক্লাস রয়েছে৷ যদি A, B, C নামে তিনটি সুপার ক্লাস থাকে এবং D হয় সাব ক্লাস, তাহলে D ক্লাস A, B এবং C থেকে উত্তরাধিকারী হতে পারে। প্রোগ্রামিং ভাষা C++ এ একাধিক ইনহেরিটেন্স সমর্থিত। এটি জাভা বা C এর মতো প্রোগ্রামিং ভাষাতে সমর্থিত নয়। এই ভাষাগুলিতে একাধিক উত্তরাধিকার প্রয়োগ করার জন্য ইন্টারফেসগুলি ব্যবহার করা হয়৷

শ্রেণিক্রমিক উত্তরাধিকার

যদি A কে সুপার ক্লাস এবং B, C সাব ক্লাস বলা হয়, তবে সেই সাব ক্লাসগুলি A ক্লাসের বৈশিষ্ট্য এবং পদ্ধতিগুলিকে উত্তরাধিকার সূত্রে পেতে পারে৷ এই ধরণের উত্তরাধিকারের ধরণটি হায়াররার্কিক্যাল ইনহেরিট্যান্স হিসাবে পরিচিত৷

হাইব্রিড উত্তরাধিকার

আরেকটি বিশেষ উত্তরাধিকার প্রকার রয়েছে যা হাইব্রিড উত্তরাধিকার নামে পরিচিত। এটি বহু-স্তরের এবং একাধিক উত্তরাধিকারের সংমিশ্রণ। যদি A, B, C এবং D শ্রেণী হয় এবং B A থেকে উত্তরাধিকারী হয় এবং D B এবং C উভয়ের কাছ থেকে উত্তরাধিকারী হয়, তাহলে এটি একটি সংকর উত্তরাধিকার।

OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে মিল কী?

দুটিই অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর ধারণা।

OOP-তে পলিমরফিজম এবং উত্তরাধিকারের মধ্যে পার্থক্য কী?

OOP পলিমরফিজম বনাম উত্তরাধিকার

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

সারাংশ – ওওপিতে পলিমরফিজম বনাম উত্তরাধিকার

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

PDF Polymorphism vs Inheritance OOP এ ডাউনলোড করুন

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

প্রস্তাবিত: