Polymorphism হল সবচেয়ে গুরুত্বপূর্ণ OOPs ধারণাগুলির মধ্যে একটি। এটি এমন একটি ধারণা যার দ্বারা আমরা একাধিক উপায়ে একক কাজ সম্পাদন করতে পারি। দুই ধরনের পলিমরফিজম আছে একটি হল কম্পাইল-টাইম পলিমরফিজম এবং অন্যটি রান-টাইম পলিমরফিজম।
মেথড ওভারলোডিং হল কম্পাইল টাইম পলিমরফিজমের উদাহরণ এবং মেথড ওভাররাইডিং হল রান-টাইম পলিমরফিজমের উদাহরণ৷
Sr. না। | কী | কম্পাইল-টাইম পলিমরফিজম | রানটাইম পলিমরফিজম |
---|---|---|---|
1 | বেসিক | কম্পাইল টাইম পলিমারফিজম মানে কম্পাইল টাইমে বাইন্ডিং হচ্ছে | আর আন টাইম পলিমরফিজম যেখানে রান টাইমে আমরা জানতে পেরেছিলাম কোন পদ্ধতিটি চালু করতে যাচ্ছে |
2 | স্ট্যাটিক/ডাইনামিক বাঁধাই | এটা স্ট্যাটিক বাঁধাই মাধ্যমে অর্জন করা যেতে পারে | এটি ডাইনামিক বাইন্ডিং এর মাধ্যমে অর্জন করা যেতে পারে |
4. | উত্তরাধিকার | উত্তরাধিকার জড়িত নয় | উত্তরাধিকার জড়িত |
5 | উদাহরণ | মেথড ওভারলোডিং হল কম্পাইল টাইম পলিমরফিজমের একটি উদাহরণ | মেথড ওভাররাইডিং রানটাইম পলিমরফিজমের একটি উদাহরণ |
কম্পাইল-টাইম পলিমরফিজমের উদাহরণ
public class Main { public static void main(String args[]) { CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample(); obj.display(); obj.display("Polymorphism"); } } class CompileTimePloymorphismExample { void display() { System.out.println("In Display without parameter"); } void display(String value) { System.out.println("In Display with parameter" + value); } }
রানটাইম পলিমরফিজমের উদাহরণ
public class Main { public static void main(String args[]) { RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample(); obj.display(); } } class RunTimePolymorphismParentClassExample { public void display() { System.out.println("Overridden Method"); } } public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample { public void display() { System.out.println("Overriding Method"); } }