最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python類的繼承與多態(tài)詳細(xì)介紹

 更新時(shí)間:2022年01月05日 15:45:40   作者:慵懶之龜  
大家好,本篇文章主要講的是Python類的繼承與多態(tài)詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽

概念

類(Class): 用來描述具有相同的屬性和方法的對(duì)象的集合。

類變量:類變量在整個(gè)實(shí)例化的對(duì)象中是公用的。類變量定義在類中且在函數(shù)體之外。類變量通常不作為實(shí)例變量使用。

類有一個(gè)名為 __init__() 的特殊方法(構(gòu)造方法),該方法在類實(shí)例化時(shí)會(huì)自動(dòng)調(diào)用

self:self 代表的是類的實(shí)例,代表當(dāng)前對(duì)象的地址,而 self.class 則指向類。

類調(diào)用 Car.weight

實(shí)例化  car01=Car(5)

實(shí)例對(duì)象調(diào)用  car01.weght

類的創(chuàng)建

#創(chuàng)建小汽車類和客車類
class Car(object):
    def __init__(self,weight):    #實(shí)例化對(duì)象時(shí)傳入特有屬性
        self.weight=weight
        print("小汽車")
        print(weight,"t")          #定義類內(nèi)方法,功能是打印出實(shí)例化的小汽車的重量
    def func(self):
        print("小汽車的駕駛方法")
class Passenger_car(object):
    def __init__(self,weight):
        self.weight=weight
        print("客車")
        print(weight,"t")
    def func(self):
        print("客車的駕駛方法")       

類的繼承

        我們?cè)跇?gòu)造類時(shí),Python3默認(rèn)我們繼承了object這個(gè)基類,我個(gè)人理解object就是個(gè)空的類,可以不用管為何要在括號(hào)中寫上object,這是Python3的特性,在python2中如果你沒有寫object的話不會(huì)默認(rèn)繼承了object這個(gè)基類。

        同樣的我們自己希望繼承的父類只需要把objetc改為我們自己定義的類名即可。子類中可以擁有父類中所有的公有屬性和方法,但是可以通過在變量名前加下劃線使其變?yōu)樗接?,這樣子類就不可以訪問父類中的成員了。

class Bus028(Passenger_car):
    def __init__(self,weight): #對(duì)基類方法的重寫
        self.weight=weight
        print("28路公交車")
        print(weight,"t")
    def func(self):           #對(duì)基類方法的重寫 
        print("28路公交車的駕駛方法")
    #子類在父類中繼承過來了func方法,但是在父類中修改了原來方法的內(nèi)容

多態(tài)的使用

        以下三個(gè)公交車類的父類均為客車類,我們可以寫一個(gè)funcs方法使得每次調(diào)用funcs方法時(shí),傳入不同的對(duì)象以執(zhí)行不同的func方法,具體實(shí)現(xiàn)如下:

class Bus028(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("28路公交車")
        print(weight,"t")
    def func(self):
        print("28路公交車的駕駛方法")
class Bus906(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("906路公交車")
        print(weight,"t")
    def func(self):
        print("906路公交車的駕駛方法")
class BusB32(Passenger_car):
    def __init__(self,weight):
        self.weight=weight
        print("B32路公交車")
        print(weight,"t")
    def func(self):
        print("B32路公交車的駕駛方法")
def funcs(obj):        #此處obj表示傳入一個(gè)實(shí)例化對(duì)象
    obj.func()

主函數(shù)

from demo01 import *
def main():
    car01=Car(5)    #例化為帶有重量為5t的一個(gè)具體對(duì)象
    car01.func()
    passenger_car01=Passenger_car(20)    #例化為帶有重量為20t的一個(gè)具體對(duì)象
    passenger_car01.func()
    bus028_01=Bus028(15)        #例化為帶有重量為15t的一個(gè)具體對(duì)象
    bus906_01=Bus906(15)        #例化為帶有重量為15t的一個(gè)具體對(duì)象
    busB32_01=BusB32(15)        #例化為帶有重量為15t的一個(gè)具體對(duì)象
    funcs(bus028_01)            #調(diào)用funcs方法
    funcs(bus906_01)
    funcs(busB32_01)
 
if __name__=="__main__":
    main()

        可以看到,我將小汽車實(shí)例化為帶有重量為5t的一個(gè)具體對(duì)象,將客車實(shí)例化為帶有重量為20t的一個(gè)具體對(duì)象,將三個(gè)公交車實(shí)例化為帶有重量為15t的一個(gè)具體對(duì)象.

         如上圖所示,我每次在調(diào)用funcs方法時(shí)都傳入了一個(gè)實(shí)例化對(duì)象,funcs根據(jù)不同的對(duì)象執(zhí)行相應(yīng)的內(nèi)部方法。

注:(我習(xí)慣上將方法讀作函數(shù),在以后的文章中,方法一律被函數(shù)代替)

到此這篇關(guān)于Python類的繼承與多態(tài)詳細(xì)介紹的文章就介紹到這了,更多相關(guān)Python繼承與多態(tài)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

泰兴市| 阳原县| 霍邱县| 孝义市| 如皋市| 治多县| 上杭县| 博乐市| 呼玛县| 宣城市| 长寿区| 德格县| 成安县| 磐安县| 井冈山市| 罗田县| 仁布县| 犍为县| 潼南县| 德惠市| 察哈| 镇坪县| 木兰县| 启东市| 合阳县| 开阳县| 汝城县| 博兴县| 利津县| 顺义区| 新疆| 海淀区| 双柏县| 南乐县| 保定市| 和田县| 赤水市| 本溪| 芜湖市| 梧州市| 怀仁县|