নিম্নলিখিত কোড বিবেচনা করুন:
class Base(object):
@classmethod
def do(cls, a):
print cls, a
class Derived(Base):
@classmethod
def do(cls, a):
print 'In derived!'
# Base.do(cls, a) -- can't pass `cls`
Base.do(a)
if __name__ == '__main__':
d = Derived()
d.do('hello')
> $ python play.py
> In derived!
> <class '__main__.Base'> msg
থেকে Derived.do
, আমি কিভাবে ফোন করব Base.do
?
আমি সাধারণত super
বা বেস ক্লাসের নামটি সরাসরি ব্যবহার করতে পারি যদি এটি একটি সাধারণ অবজেক্ট পদ্ধতি হয় তবে স্পষ্টতই আমি বেস শ্রেণিতে শ্রেণিবদ্ধকে ফোন করার কোনও উপায় খুঁজে পাই না।
উপরের উদাহরণে ক্লাসের পরিবর্তে ক্লাস Base.do(a)
প্রিন্ট করে ।Base
Derived