Python Language
विधि ओवरराइडिंग
खोज…
मूल विधि ओवरराइडिंग
यहाँ पायथन में बुनियादी ओवरराइडिंग का उदाहरण है (पायथन 2 और 3 दोनों के साथ स्पष्टता और संगतता के लिए, नई शैली वर्ग का उपयोग करके और () साथ print करें):
class Parent(object):
def introduce(self):
print("Hello!")
def print_name(self):
print("Parent")
class Child(Parent):
def print_name(self):
print("Child")
p = Parent()
c = Child()
p.introduce()
p.print_name()
c.introduce()
c.print_name()
$ python basic_override.py
Hello!
Parent
Hello!
Child
जब Child क्लास बनाई जाती है, तो वह Parent क्लास के तरीकों को विरासत में देती है। इसका मतलब यह है कि माता-पिता वर्ग के पास जो भी तरीके हैं, बच्चे की कक्षा भी होगी। उदाहरण में, introduce के लिए परिभाषित किया गया है Child क्योंकि इसके लिए परिभाषित किया गया है वर्ग Parent के वर्ग परिभाषा स्पष्ट रूप से परिभाषित नहीं होने के बावजूद, Child ।
इस उदाहरण में, ओवरराइडिंग तब होती है जब Child अपने स्वयं के print_name विधि को परिभाषित करता है। यदि यह विधि घोषित नहीं की गई थी, तो c.print_name() ने "Parent" मुद्रित किया होगा। हालाँकि, Child ने print_name की Parent परिभाषा को ओवरराइड किया है, और इसलिए अब c.print_name() को कॉल करने पर, "Child" शब्द प्रिंट होता है।