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"
शब्द प्रिंट होता है।