父类从子类中调用私有属性

在下面的玩具示例中,最后一行B()。show()没有调用适当版本的show函数。应该将其称为子版本而不是父版本。我想我应该做类似__class_method()的事情,但找不到完整的答案。


我当然可以覆盖B中的show函数。但这实际上意味着要复制并粘贴show函数。这不优雅。


## version one ##

class A(object):


    def method(self):

        print("hello")


    def show(self):

        self.method()


class B(A):


    def method(self):

        print("goodbye")



A().show() ## print out hello

B().show() ## print out goodbye


## version two ##    

class A(object):


    def __method(self):

        print("hello")


    def show(self):

        self.__method()


class B(A):


    def __method(self):

        print("goodbye")



A().show() ## print out hello

B().show() ## print out hello


慕雪6442864
浏览 142回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python