পদ্ধতি ওভারলোডিং

আজকের জন্য আমাদের নতুন এবং আকর্ষণীয় বিষয় হল ওভারলোডিং পদ্ধতি । সতর্কতা অবলম্বন করুন — পদ্ধতি ওভারলোডিং পদ্ধতি ওভাররাইডিংয়ের সাথে বিভ্রান্ত হওয়া উচিত নয়।

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

এখানে সমস্যা হল যে একটি ক্লাসের মধ্যে সমস্ত পদ্ধতির অনন্য নাম থাকতে হবে। ওয়েল, যে সম্পূর্ণরূপে সঠিক নয়. ভাল, আরো সঠিকভাবে, যে সব সঠিক নয়. পদ্ধতির নাম অনন্য হতে হবে না। পদ্ধতির নাম এবং পদ্ধতির পরামিতিগুলির প্রকারের মিলন যা অনন্য হতে হবে । এই ইউনিয়ন পদ্ধতি স্বাক্ষর হিসাবে পরিচিত হয়

উদাহরণ:

কোড বর্ণনা
public void print();
public void print2();
এটি অনুমোদিত। দুটি পদ্ধতির অনন্য নাম রয়েছে।
public void print();
public void print(int n);
এবং এই. দুটি পদ্ধতির অনন্য নাম (স্বাক্ষর) রয়েছে।
public void print(int n, int n2);
public void print(int n);
পদ্ধতি এখনও অনন্য
public int print(int a);
public void print(int n);
কিন্তু এটা অনুমোদিত নয় । পদ্ধতিগুলি অনন্য নয় । যদিও তারা বিভিন্ন ধরনের ফেরত দেয়।
public int print(int a, long b);
public long print(long b, int a);
কিন্তু আপনি এটা করতে পারেন . পদ্ধতি পরামিতি অনন্য

স্বাক্ষর পদ্ধতির নাম এবং পরামিতি প্রকারগুলি অন্তর্ভুক্ত করে । এটি পদ্ধতির রিটার্ন টাইপ এবং প্যারামিটারের নাম অন্তর্ভুক্ত করে না । একটি ক্লাসে একই স্বাক্ষর সহ দুটি পদ্ধতি থাকতে পারে না - কম্পাইলার জানেন না কোনটিকে কল করতে হবে।

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

OOP নীতি অনুসারে , পলিমরফিজম একটি একক ইন্টারফেসের পিছনে বিভিন্ন বাস্তবায়ন লুকিয়ে রাখে। আমরা যখন System.out.println()মেথডকে কল করি, উদাহরণস্বরূপ, কোন আর্গুমেন্ট পাস করা হয় তার উপর নির্ভর করে বিভিন্ন পদ্ধতি কল করা হয়। এটি কর্মে পলিমরফিজম।

এই কারণেই একই শ্রেণিতে থাকা অভিন্ন নাম সহ বিভিন্ন পদ্ধতিকে পলিমরফিজমের দুর্বল রূপ বলে মনে করা হয়।