面向對象的編程帶來的主要好處之一是代碼的重用,實現這種重用的方法之一是通過繼承機制.繼承完全可以理解成類之間的類型和子類型關系.
需要注意的地方:繼承語法 class 派生類名(基類名)://… 基類名寫在括號裡,基本類是在類定義的時候,在元組之中指明的.
在python中繼承中的一些特點:
1:在繼承中基類的構造(init()方法)不會被自動調用,它需要在其派生類的構造中親自專門調用.
2:在調用基類的方法時,需要加上基類的類名前綴,且需要帶上self參數變量.區別在於類中調用普通函數時並不需要帶上self參數
3:Python總是首先查找對應類型的方法,如果它不能在派生類中找到對應的方法,它才開始到基類中逐個查找.(先在本類中查找調用的方法,找不到才去基類中找).
如果在繼承元組中列了一個以上的類,那麼它就被稱作”多重繼承” .
語法:
派生類的聲明,與他們的父類類似,繼承的基類列表跟在類名之後,如下所示:
class SubClassName (ParentClass1[, ParentClass2, ...]):
class Parent:
number = 100
def __init__(self):
print "Invoke parent constructor method"
def parentMethod(self):
print 'Invoke parent method'
def setNumber(self, num):
self.number = num
def getNumber(self):
print "Parent's number :", self.number
class Child(Parent):
def __init__(self):
print "Invoke child constructor method"
def childMethod(self):
print 'Invoke child method'
c = Child()
c.childMethod()
c.parentMethod()
c.setNumber(200)
c.getNumber()
運行結果:
Invoke child constructor method
Invoke child method
Invoke parent method
Parent’s number 200
python支持多繼承:
class A: # 定義類 A
.....
class B: # 定義類 B
.....
class C(A, B): # 繼承類 A 和 B
Two methods related to the class:
issubclass() -Determines whether a class is a subclass or descendant of another class,語法:issubclass(sub,sup)
isinstance(obj, Class) 如果obj是Class類的實例對象或者是一個Class子類的實例對象則返回true,否則返回false.
更多內容請關注微信公眾號
Student address book management system 3.0 of Python basic project practice
Address book management system
The solution to the problem of not displaying Chinese in Python drawing
Catalog Preface One 、plt.tit