পাইথনে একটি সরল অবজেক্ট হায়ারার্কি তৈরি করার সময়, আমি উত্পন্ন শ্রেণি থেকে অভিভাবক শ্রেণির পদ্ধতিগুলি আহ্বান করতে সক্ষম হতে চাই। পার্ল এবং জাভাতে এই ( super
) এর জন্য একটি কীওয়ার্ড রয়েছে । পার্লে, আমি এটি করতে পারি:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
পাইথনে, দেখা যাচ্ছে যে আমি সন্তানের কাছ থেকে স্পষ্টতই অভিভাবক শ্রেণির নাম রাখতে হবে। উপরের উদাহরণে, আমাকে এর মতো কিছু করতে হবে Foo::frotz()
।
এটি সঠিক বলে মনে হচ্ছে না কারণ এই আচরণটি গভীরভাবে শ্রেণিবিন্যাস করা শক্ত করে তোলে। যদি শিশুদের জানতে হয় কোন শ্রেণিটি উত্তরাধিকার সূত্রে প্রাপ্ত পদ্ধতিটি সংজ্ঞায়িত করে, তবে সমস্ত ধরণের তথ্য ব্যথা তৈরি হয়।
এটি কি পাইথনের প্রকৃত সীমাবদ্ধতা, আমার বোঝার ফাঁক বা উভয়ই?