国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Python > 正文

Python中super的用法實(shí)例

2020-02-23 01:28:41
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

super 是用來(lái)解決多重繼承問(wèn)題的,直接用類(lèi)名調(diào)用父類(lèi)方法在使用單繼承的時(shí)候沒(méi)問(wèn)題,但是如果使用多繼承,會(huì)涉及到查找順序(MRO)、重復(fù)調(diào)用(鉆石繼承)等種種問(wèn)題。總之前人留下的經(jīng)驗(yàn)就是:保持一致性。要不全部用類(lèi)名調(diào)用父類(lèi),要不就全部用 super,不要一半一半。

普通繼承
代碼如下:
class FooParent(object): 
    def __init__(self): 
        self.parent = 'I/'m the parent.' 
        print 'Parent' 
     
    def bar(self,message): 
        print message, 'from Parent' 
         
class FooChild(FooParent): 
    def __init__(self): 
        FooParent.__init__(self) 
        print 'Child' 
         
    def bar(self,message): 
        FooParent.bar(self,message) 
        print 'Child bar function.' 
        print self.parent 
         
if __name__=='__main__': 
    fooChild = FooChild() 
    fooChild.bar('HelloWorld') 

super繼承
代碼如下:
class FooParent(object): 
    def __init__(self): 
        self.parent = 'I/'m the parent.' 
        print 'Parent' 
     
    def bar(self,message): 
        print message,'from Parent' 
 
class FooChild(FooParent): 
    def __init__(self): 
        super(FooChild,self).__init__() 
        print 'Child' 
         
    def bar(self,message): 
        super(FooChild, self).bar(message) 
        print 'Child bar fuction' 
        print self.parent 
 
if __name__ == '__main__': 
    fooChild = FooChild() 
    fooChild.bar('HelloWorld') 

程序運(yùn)行結(jié)果相同,為:
代碼如下:
Parent
Child

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 白城市| 平远县| 内乡县| 察哈| 南宫市| 万源市| 商南县| 木里| 镇远县| 临潭县| 襄城县| 乌兰浩特市| 辉南县| 荃湾区| 同仁县| 荥阳市| 兰州市| 伊金霍洛旗| 光山县| 乐亭县| 黄浦区| 莱芜市| 建瓯市| 琼海市| 射阳县| 崇仁县| 鄄城县| 紫阳县| 文成县| 定远县| 常山县| 尚志市| 邢台县| 莱州市| 昔阳县| 廉江市| 册亨县| 水富县| 南充市| 开平市| 高邑县|