পাইথনে আপনি একটি পদ্ধতিকে এমনভাবে সংজ্ঞায়িত করতে পারেন যে এটিকে কল করার একাধিক উপায় রয়েছে। ফাংশনের সংজ্ঞার উপর নির্ভর করে, এটিকে শূন্য, এক, দুই বা ততোধিক প্যারামিটার দিয়ে কল করা যেতে পারে। এটি মেথড ওভারলোডিং নামে পরিচিত।
প্রদত্ত কোডে, একটি পদ্ধতি সহ একটি ক্লাস আছে sayHello()। আমরা নীচের দেখানো হিসাবে পুনরায় লিখুন. এই পদ্ধতির প্রথম প্যারামিটারটি None এ সেট করা হয়েছে, এটি আমাদের প্যারামিটার সহ বা ছাড়া কল করার বিকল্প দেয়৷
ক্লাসের উপর ভিত্তি করে একটি অবজেক্ট তৈরি করা হয় এবং আমরা শূন্য এবং একটি প্যারামিটার ব্যবহার করে এটির পদ্ধতিকে কল করি। মেথড ওভারলোডিং বাস্তবায়ন করতে, আমরা মেথডটিকে sayHello() বলি দুটি উপায়ে:1. obj.sayHello() এবং 2.obj.sayHello('Rambo')
আমরা একটি পদ্ধতি তৈরি করেছি যা অনুমতি দেওয়ার জন্য সংজ্ঞায়িত করার চেয়ে কম আর্গুমেন্ট সহ কল করা যেতে পারে৷ আমরা দুটি ভেরিয়েবলের মধ্যে সীমাবদ্ধ নই, প্রদত্ত পদ্ধতিতে আরও ভেরিয়েবল থাকতে পারে যা ঐচ্ছিক৷
উদাহরণ
class Human: def sayHello(self, name=None): if name is not None: print 'Hello ' + name else: print 'Hello ' obj = Human() print(obj.sayHello()) print(obj.sayHello('Rambo'))
আউটপুট
Hello None Hello Rambo None