python類的繼承是什嗎?類的繼承有什麼樣的規則?

來源:互聯網
上載者:User
在這篇文章之中我們來瞭解一下python類的繼承,對於剛剛接觸到python這一程式設計語言的朋友來說,對於python類的繼承的瞭解應該比較少,不過沒關係,在接下來的文章之中我們就來瞭解一下 python類的繼承規則,我會在下文之中就 python類的繼承舉例來進行分析。

類的繼承

物件導向的編程帶來的主要好處之一是代碼的重用,實現這種重用的方法之一是通過繼承機制。

通過繼承建立的新類稱為子類或衍生類別,被繼承的類稱為基類、父類或超類。

繼承文法

class 衍生類別名(基類名)    ...

在python中繼承中的一些特點:

1、如果在子類中需要父類的構造方法就需要顯示的調用父類的構造方法,或者不重寫父類的構造方法。詳細說明可查看:python 子類繼承父類建構函式說明。

2、在調用基類的方法時,需要加上基類的類名首碼,且需要帶上 self 參數變數。區別在於類中調用普通函數時並不需要帶上 self 參數

3、Python 總是首先尋找對應類型的方法,如果它不能在衍生類別中找到對應的方法,它才開始到基類中逐個尋找。(先在本類中尋找調用的方法,找不到才去基類中找)。

如果在繼承元組中列了一個以上的類,那麼它就被稱作"多重繼承" 。

文法

衍生類別的聲明,與他們的父類類似,繼承的基類列表跟在類名之後,如下所示:

class SubClassName (ParentClass1[, ParentClass2, ...]):    ...

執行個體分析

# !/usr/bin/python# -*- coding: UTF-8 -*-class Parent:  # 定義父類    parentAttr = 100    def __init__(self):        print "調用父類建構函式"    def parentMethod(self):        print '調用父類方法'    def setAttr(self, attr):        Parent.parentAttr = attr    def getAttr(self):        print "父類屬性 :", Parent.parentAttrclass Child(Parent):  # 定義子類    def __init__(self):        print "調用子類構造方法"    def childMethod(self):        print '調用子類方法'c = Child()  # 執行個體化子類c.childMethod()  # 調用子類的方法c.parentMethod()  # 調用父類方法c.setAttr(200)  # 再次調用父類的方法 - 設定屬性值c.getAttr()  # 再次調用父類的方法 - 擷取屬性值

以上代碼執行結果如下:

調用子類構造方法調用子類方法調用父類方法父類屬性 :200

你可以繼承多個類

class A:        # 定義類 A.....class B:         # 定義類 B.....class C(A, B):   # 繼承類 A 和 B.....

你可以使用issubclass()或者isinstance()方法來檢測。

1.issubclass() - 布爾函數判斷一個類是另一個類的子類或者子孫類,文法:issubclass(sub,sup)

2.isinstance(obj, Class) 布爾函數如果obj是Class類的執行個體對象或者是一個Class子類的執行個體對象則返回true。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.