मैं एक विरासत वर्ग में ओवरराइडिंग विधि की बजाय एक ही कक्षा में एक और विधि को कॉल करने के लिए बेस क्लास में एक विधि चाहूंगा। मैं निम्नलिखित कोड बाहरविरासत और बेस क्लास विधि कॉल पायथन
कक्षा बी प्रिंट करना चाहते हैं: 6
क्लास ए: 9
यह किया जा सकता है? http://docs.python.org/tutorial/classes.html#private-variables और http://docs.python.org/reference/expressions.html#atom-identifiers पर:
# Base class definition
class ClassA(object):
def __init__(self):
print("Initializing A")
# hoping that this function is called by this class's printFnX
def fnX(self, x):
return x**2
def printFnX(self, x):
print("ClassA:",self.fnX(x))
# Inherits from ClassA above
class ClassB(ClassA):
def __init__(self):
print("initizlizing B")
def fnX(self, x):
return 2*x
def printFnX(self, x):
print("ClassB:", self.fnX(x))
ClassA.printFnX(self,x)
bx = ClassB()
bx.printFnX(3)
क्या आप इस बात पर पुनर्विचार करने की परवाह करते हैं कि आपने किस उत्तर को स्वीकार किया है? वर्तमान चयन ज्यादातर लोगों और अधिकतर मामलों के लिए वास्तव में खराब सलाह है। –