基本語法:
class
derivedclassname
(baseclassname1):
1>..
.
需要注意圓括號中父級類的順序,若是父級類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢父級類中是否包含方法。
示例:
class
a(object):
pass
class
b(object):
pass
class
c(a, b):
pass
c 繼承了 a 和 b,c 稱為 a,b 的派生類,c 可以直接獲取 a 和 b 裡面定義的所有方法和變數繼承示例
派生類
在尋找變數和方法的時候,優先尋找自身的方法和變數
,最後在去繼承的類裡面去尋找。類自身的
__init__
方法不會被其他類呼叫。但是可以呼叫。參考繼承示例
# 定義基本類
class
people
():#定義基本屬性
name = ''
age = 0
#定義私有屬性,私有屬性在類外部無法直接進行訪問
__weight = 0
#定義構造方法構造器
def__init__
(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
defspeak
(self):
print("%s 說: 我 %d 歲。" %(self.name,self.age))
# 定義單繼承類
class
student
(people):
grade = ''
def__init__
(self,n,a,w,g):
#呼叫父類的建構函式
people.__init__(self,n,a,w)
self.grade = g
# 覆蓋寫入父類的方法
defspeak
(self):
print("%s 說: 我 %d 歲了,我在讀 %d 年級"%(self.name,self.age,self.grade))
s = student('ken',10,60,3)
s.speak()
父級類的示例__init__
方法可以被子級的類呼叫子級類如果包含和父級類一樣的變數或方法,會在呼叫的時候,覆蓋父級類的變數或方法。
class
derivedclassname
(base1, base2, base3):
1>..
.
需要注意圓括號中父類的順序,若是父類中有相同的方法名,而在子類使用時未指定,python從左至右搜尋 即方法在子類中未找到時,從左到右查詢父類中是否包含方法。若子類中有相同的方法或變數,優先呼叫子類的方法或變數
#類定義
class
people:
#定義基本屬性
name = ''
age = 0
#定義私有屬性,私有屬性在類外部無法直接進行訪問
__weight = 0
#定義構造方法
def__init__
(self,n,a,w):
self.name = n
self.age = a
self.__weight = w
defspeak
(self):
print("%s 說: 我 %d 歲。" %(self.name,self.age))
#單繼承示例
class
student
(people):
grade = ''
def__init__
(self,n,a,w,g):
#呼叫父類的構函
people.__init__(self,n,a,w)
self.grade = g
#覆寫父類的方法
defspeak
(self):
print("%s 說: 我 %d 歲了,我在讀 %d 年級"%(self.name,self.age,self.grade))
#另乙個類,多重繼承之前的準備
class
speaker
(): topic = ''
name = ''
def__init__
(self,n,t):
self.name = n
self.topic = t
defspeak
(self):
print("我叫 %s,我是乙個演說家,我演講的主題是 %s"%(self.name,self.topic))
#多重繼承
class
sample
(speaker,student):
a =''
def__init__
(self,n,a,w,g,t):
student.__init__(self,n,a,w,g)
speaker.__init__(self,n,t)
test = sample("tim",25,80,4,"python")
test.speak() #方法名同,預設呼叫的是在括號中排前地父類的方法
Python3 類的繼承
coding utf 8 物件導向程式設計的三個特點 封裝 繼承 多型 函式是封裝 的基本單位,類和物件的封裝是屬於更高階的封裝方式 在類中經常會宣告一些物件屬性,用來儲存資料的,在類中宣告的函式,是用來運算元據的,不同的功能可以封裝成不同的函式 繼承 特點 1.子類繼承父類,子類擁有父類的所有屬性...
Python3 類的繼承
目錄初識繼承 尋找繼承關係 繼承背景下的物件屬性查詢順序 派生新式類和經典類 鑽石繼承 通過繼承實現修改json模組資料型別 繼承指的是一種新建類的方法,新建的類稱之為子類或者派生類 子類繼承的類叫做父類,也稱之為基類或者超類 繼承的目的是減少 的冗餘 減少重複 在定義類時候,通過class 子類 ...
Python3 類和物件 繼承
class derivedclassname baseclassname 子類 父類 如果子類中定義與父類同名的方法或屬性,則會自動覆蓋父類對應的方法或屬性,父類中的方法不受影響 1 呼叫未繫結的父類方法 class a def init self print 進入a print 離開a class...