亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

概念

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

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

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

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

類調(diào)用 Car.weight

實例化  car01=Car(5)

實例對象調(diào)用  car01.weght

類的創(chuàng)建

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

類的繼承

        我們在構(gòu)造類時,Python3默認我們繼承了object這個基類,我個人理解object就是個空的類,可以不用管為何要在括號中寫上object,這是Python3的特性,在python2中如果你沒有寫object的話不會默認繼承了object這個基類。

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

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

多態(tài)的使用

        以下三個公交車類的父類均為客車類,我們可以寫一個funcs方法使得每次調(diào)用funcs方法時,傳入不同的對象以執(zhí)行不同的func方法,具體實現(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表示傳入一個實例化對象
    obj.func()

主函數(shù)

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

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

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

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

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

相關(guān)文章

  • Python 壓縮打包文件/文件夾的方法

    Python 壓縮打包文件/文件夾的方法

    本文主要介紹了Python?壓縮打包文件/文件夾的方法,分兩種類型處理,打包文件是需要傳入文件的路徑,打包文件夾是傳入文件夾的路徑,感興趣的可以了解一下
    2023-12-12
  • 全面解析Python中的self技巧

    全面解析Python中的self技巧

    在Python中,類的方法定義時通常會包含一個名為?self?的參數(shù),它表示對象實例本身,下面我們就來了解一下self的相關(guān)應(yīng)用技巧,需要的可以參考下
    2024-01-01
  • PySpark中RDD的數(shù)據(jù)輸出問題詳解

    PySpark中RDD的數(shù)據(jù)輸出問題詳解

    RDD是 Spark 中最基礎(chǔ)的抽象,它表示了一個可以并行操作的、不可變得、被分區(qū)了的元素集合,這篇文章主要介紹了PySpark中RDD的數(shù)據(jù)輸出詳解,需要的朋友可以參考下
    2023-01-01
  • python使用websocket庫發(fā)送WSS請求

    python使用websocket庫發(fā)送WSS請求

    WebSocket是一種在客戶端和服務(wù)器之間進行雙向通信的協(xié)議,Python中有許多WebSocket庫可供選擇,其中一個常用的是websocket庫,使用該庫可以輕松地發(fā)送WSS請求,需要的朋友可以參考下
    2023-10-10
  • python實現(xiàn)登陸知乎獲得個人收藏并保存為word文件

    python實現(xiàn)登陸知乎獲得個人收藏并保存為word文件

    這篇文章主要介紹了python實現(xiàn)登陸知乎獲得個人收藏并保存為word文件,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下
    2015-03-03
  • python從gbff文件中直接提取cds序列

    python從gbff文件中直接提取cds序列

    這篇文章主要為大家介紹了python從gbff文件中直接提取cds序列示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • 精心整理總結(jié)的Python自動化測試面試題

    精心整理總結(jié)的Python自動化測試面試題

    簡單來說,自動化測試框架包含了所有的測試工作所需的測試框架,下面這篇文章主要給大家介紹了關(guān)于Python自動化測試面試題的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • Python Metaclass原理與實現(xiàn)過程詳細講解

    Python Metaclass原理與實現(xiàn)過程詳細講解

    MetaClass元類,本質(zhì)也是一個類,但和普通類的用法不同,它可以對類內(nèi)部的定義(包括類屬性和類方法)進行動態(tài)的修改??梢赃@么說,使用元類的主要目的就是為了實現(xiàn)在創(chuàng)建類時,能夠動態(tài)地改變類中定義的屬性或者方法
    2022-11-11
  • Python3.5基礎(chǔ)之函數(shù)的定義與使用實例詳解【參數(shù)、作用域、遞歸、重載等】

    Python3.5基礎(chǔ)之函數(shù)的定義與使用實例詳解【參數(shù)、作用域、遞歸、重載等】

    這篇文章主要介紹了Python3.5基礎(chǔ)之函數(shù)的定義與使用,結(jié)合實例形式詳細分析了Python3.5函數(shù)的定義、參數(shù)、作用域、遞歸、重載、內(nèi)置函數(shù)等基本概念與相關(guān)使用技巧,需要的朋友可以參考下
    2019-04-04
  • Python3.5 + sklearn利用SVM自動識別字母驗證碼方法示例

    Python3.5 + sklearn利用SVM自動識別字母驗證碼方法示例

    這篇文章主要給大家介紹了關(guān)于Python3.5 + sklearn利用SVM自動識別字母驗證碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評論