首頁  >  文章  >  後端開發  >  如何讓Python繼承多個類別?一文讀懂Python類別的繼承

如何讓Python繼承多個類別?一文讀懂Python類別的繼承

Tomorin
Tomorin原創
2018-08-14 17:13:064361瀏覽

物件導向的程式設計帶來的主要好處之一是程式碼的重用,實作這種重用的方法之一是透過Python類別的繼承並且在此基礎上衍生出讓Python繼承多個類別的方法。

透過Python類別的繼承所建立的新類別稱為子類別衍生類別,被繼承的類別稱為基底類別父類別超類別

繼承語法:

class 派生类名(基类名)
    ...

實例

#!/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

對類別的繼承的延伸:Python繼承多個類別

class A:        # 定义类 A
.....
class B:         # 定义类 B
.....
class C(A, B):      # 继承类 A 和 B
.....

你可以使用issubclass()或是isinstance()方法來偵測。

issubclass() - 布林函數判斷一個類別是另一個類別的子類別或子孫類,語法:issubclass(sub,sup)

isinstance(obj, Class) 布林函數如果obj是Class類別的實例物件或是一個Class子類別的實例物件則回傳true。


以上是如何讓Python繼承多個類別?一文讀懂Python類別的繼承的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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