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

首頁 > 編程 > Python > 正文

Python中的面向?qū)ο缶幊淘斀?下)

2020-02-23 00:40:42
字體:
供稿:網(wǎng)友

繼承

繼承描述了基類的屬性如何“遺傳”給派生類。一個(gè)子類可以繼承它的基類的任何屬性,不管是數(shù)據(jù)屬性還是方法。
創(chuàng)建子類的語法看起來與普通(新式)類沒有區(qū)別,一個(gè)類名,后跟一個(gè)或多個(gè)需要從其中派生的父類:
代碼如下:
class SubClassName (ParentClass1[, ParentClass2, ...]):
    'optional class documentation string'
    class_suite

實(shí)例
代碼如下:
class Parent(object): # define parent class 定義父類
    def parentMethod(self):
    print 'calling parent method'

class Child(Parent): # define child class 定義子類
    def childMethod(self):
    print 'calling child method'

繼承與覆蓋

繼承

不同于Java,python的子類繼承父類后,會(huì)把父類的所有的方法,包括構(gòu)造器init()也繼承下來.
代碼如下:
class Parent():
    def __init__(self):
        print "init Parent class instance"

    def func(self):
        print "call parent func"

class Child(Parent):
    def __init__(self):
        print "init Child class instance"

child = Child()
child.func()

輸出
代碼如下:
init Child class instance
call parent func

super關(guān)鍵字

super 是用來解決多重繼承問題的,直接用類名調(diào)用父類方法在使用單繼承的時(shí)候沒問題,但是如果使用多繼承,會(huì)涉及到查找順序(MRO)、重復(fù)調(diào)用(鉆石繼承)等種種問題。語法如下
代碼如下:
super(type[, obj])

示例
代碼如下:
class C(B):
    def method(self, arg):
        super(C, self).method(arg)

注意

super繼承只能用于新式類,用于經(jīng)典類時(shí)就會(huì)報(bào)錯(cuò)。
新式類:必須有繼承的類,如果沒什么想繼承的,那就繼承object
經(jīng)典類:沒有父類,如果此時(shí)調(diào)用super就會(huì)出現(xiàn)錯(cuò)誤:『super() argument 1 must be type, not classobj』
實(shí)例
代碼如下:
class Parent(object):
    def __init__(self):
        self.phone = '123456'
        self.address = 'abcd'

class Child(Parent):
    def __init__(self):
        super(Child, self).__init__()
        self.data = 100

def main():
    child = Child()
    print "phone is: ", child.phone
    print "address is: ", child.address

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沙洋县| 犍为县| 丰县| 浙江省| 垦利县| 丰镇市| 鄂温| 吴桥县| 寻乌县| 新密市| 沾化县| 九龙县| 古蔺县| 云林县| 巢湖市| 宝坻区| 克什克腾旗| 饶平县| 南投县| 和顺县| 汽车| 龙江县| 蕲春县| 沅陵县| 保德县| 巴林右旗| 蓬溪县| 房产| 阳原县| 亳州市| 建德市| 怀宁县| 女性| 鹰潭市| 永登县| 教育| 陇川县| 平山县| 四会市| 固原市| 景泰县|