日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Python面向?qū)ο蠡A(chǔ)

 印度阿三17 2019-01-11

一、OOP

oop就是代碼的重用,通過分解代碼,最小化代碼的冗余以及對現(xiàn)存的代碼進行定制來編寫程序;OOP模型中有兩種對象,類對象和實例對象。類對象提供默認行為,是生產(chǎn)實例對象的工廠;類對象和實例對象都有各自命名空間。

二、python類的主要特性

· class語句創(chuàng)建類對象并將其賦值給變量名
· class語句內(nèi)的頂層賦值語句會創(chuàng)建類的屬性
· 類屬性提供對象的狀態(tài)和行為

三、python實例對象的主要特性

· 每次類調(diào)用時,都會創(chuàng)建并返回新的實例對象
· 每個實例對象繼承類的屬性并獲得了自己的命名空間
· 每個實例對象通過構(gòu)造方法獲得每個實例自己的屬性

四、創(chuàng)建類和實例對象-類的封裝

封裝,是將對象的數(shù)據(jù)與操作數(shù)據(jù)的方法相結(jié)合,通過方法將對象的數(shù)據(jù)與實現(xiàn)細節(jié)保護起來,就稱為封裝。外界只能通過對象的方法訪問對象,因此封裝同時也實現(xiàn)了對象的數(shù)據(jù)隱藏

class Person():
#類的屬性--靜態(tài)屬性
country="China"

#封裝--初始化方法
def __init__(self,*args):
    self.name=args[0]
    self.age=args[1]
    self.aggr=args[2]
    self.sex=args[3]

#方法
def walk(self,n):
    print("%szoule%sbu"%(self.name,n))

#調(diào)用類創(chuàng)建實例對象,自動執(zhí)行構(gòu)造方法__init__
jonny=Person('jonny',11,23,'man')

#實例對象調(diào)用類的方法
jonny.walk(10)

#實例對象調(diào)用類的屬性
print(jonny.country)

五、類的繼承

單繼承

類可以通過繼承進行定制;類的繼承豐富了軟件的層級,在層級較低的地方覆蓋現(xiàn)有的屬性,讓其行為特定化。
在python中,實例對象從類中繼承,而類繼承于超類
· 超類寫在類開頭的括號中
· 類從其超類中繼承屬性
· 實例會繼承所有可讀取類的屬性
· 每次實例對象的屬性調(diào)用都會進行類樹搜索
· 邏輯的修改是通過創(chuàng)建子類,而不是修改超類

#創(chuàng)建父類---經(jīng)典類
class a():
    a1="11"
#創(chuàng)建子類,繼承父類a
class b(a):
    b1="22"
#調(diào)用父類的屬性
print(b.a1)

以上的例子中父類是經(jīng)典類,因為父類未繼承object類;繼承object類的父類是新式類

#創(chuàng)建父類---新式類
class a(object):
    a1="11"
#創(chuàng)建子類,繼承父類a
class b(a):
    b1="22"
#調(diào)用父類的屬性
print(b.a1)

在繼承中,父類是經(jīng)典類那么子類就是經(jīng)典類;父類是新式類,子類就是新式類

多繼承

python支持繼承多個類,那么在繼承父類的屬性和方法時改怎么找呢?

class D(object):

    def display(self):
        print('D.display')

class C(D):

    def display(self):
        print('C.display')

class B(D):

    def display(self):
        print('B.display')

class A(B,C):

    def display(self):
        print('A.display')

a=A()
a.display()

執(zhí)行display方法時,查找順序為 A--B--C--D

Python面向?qū)ο蠡A(chǔ)

六、類的多態(tài)

類的多態(tài)性是指具有不同功能的函數(shù)可以使用相同的函數(shù)名,這樣就可以用一個函數(shù)名調(diào)用不同內(nèi)容的函數(shù)。

class Person():
def display(self):
    pass

class Man(Person):
    def display(self):
        print("man")

class Woman(Person):
    def display(self):
        print("woman")

def func(obj):
    obj.display()

#實例化對象
man1=Man()
woman1=Woman()

#多態(tài)
func(man1)
func(woman1)
來源:http://www./content-1-102401.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多