पायथन में एक साधारण वस्तु पदानुक्रम बनाते समय, मैं एक व्युत्पन्न वर्ग से मूल वर्ग के तरीकों को लागू करने में सक्षम होना चाहता हूं। पर्ल और जावा में, इसके लिए एक कीवर्ड है ( super
)। पर्ल में, मैं यह कर सकता हूं:
package Foo;
sub frotz {
return "Bamf";
}
package Bar;
@ISA = qw(Foo);
sub frotz {
my $str = SUPER::frotz();
return uc($str);
}
पायथन में, ऐसा प्रतीत होता है कि मुझे बच्चे से स्पष्ट रूप से मूल वर्ग का नाम लेना है। ऊपर के उदाहरण में, मुझे कुछ करना होगा Foo::frotz()
।
यह सही नहीं लगता क्योंकि यह व्यवहार गहरी पदानुक्रम बनाने के लिए कठिन बनाता है। यदि बच्चों को यह जानने की जरूरत है कि किस वर्ग ने विरासत में मिली पद्धति को परिभाषित किया है, तो सभी प्रकार के सूचना दर्द पैदा हो जाते हैं।
क्या यह अजगर में एक वास्तविक सीमा है, मेरी समझ में अंतर है या दोनों है?