首頁 >後端開發 >Python教學 >python類別的繼承是什麼?類別的繼承有什麼樣的規則?

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

乌拉乌拉~
乌拉乌拉~原創
2018-08-20 14:39:123351瀏覽

在這篇文章之中我們來了解一下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.parentAttr
class 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。

以上就是本篇文章所講述的所有內容,這篇文章主要介紹了python類別的繼承這一方面的知識。希望你能藉助資料從而理解上述所說的內容以及所舉的實例。希望我在這片文章所講述的內容能夠對你有幫助,讓你學習python更加輕鬆。

更多相關知識,請造訪php中文網Python教學欄位。

以上是python類別的繼承是什麼?類別的繼承有什麼樣的規則?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn