前言:
python有過載?不是只有重寫?經過一番搜尋 基本概念是
方法重寫(overriding):
1、也叫子類的方法覆蓋父類的方法,要求返回值、方法名和引數都相同。
2、子類丟擲的異常不能超過父類相應方法丟擲的異常。(子類異常不能超出父類異常)
3、子類方法的的訪問級別不能低於父類相應方法的訪問級別(子類訪問級別不能低於父類訪問級別)
方法過載(overloading):
過載是在同乙個類中的兩個或兩個以上的方法,擁有相同的方法名,但是引數卻不相同,方法體也不相同,最常見的過載的例子就是類的建構函式, 感覺python就這個時候可以稱得上過載
class human:
__age=0
__***=''
__height=0
__weight=0
name=''
def __init__(self,age,***,height,weight):
self.__age=age
self.__***=***
self.__height=height
self.__weight=weight
def setname(self,name):
self.name=name
def show(self):
print(self.name)
print(self.__age)
print(self.__***)
print(self.__height)
print(self.__weight)
class student(human):#通過繼承human類生成student類
__classes=0
__grade=0
__num=0
def __init__(self,classes,grade,num,age,***,height,weight):#過載
self.__classes=classes
self.__grade=grade
self.__num=num
human.__init__(self,age,***,height,weight)#呼叫human類的__init__方法,初始化huamn類的屬性,過載huamn類後又使用類的該方法,則用「父類.方法名」的方式呼叫
def show(self):#重寫show()方法
human.show(self)#呼叫huamnn類的show方法
#super(student,self).show()
print(self.__classes)
print(self.__grade)
print(self.__num)
if __name__=='__main__':
a= student(12,3,20070305,19,'male',175,65)#例項化生成a物件
a.setname('tom')#呼叫setname方法
a.show()#呼叫show方法,即用重寫後的show方法輸出屬性
python類與物件基本語法
物件導向程式設計的2個非常重要的概念 類和物件。物件是物件導向程式設計的核心,在使用物件的過程中,為了將具有共同特徵和行為的一組物件抽象定義,提出了另外乙個新的概念 類。本人學習筆記基於python2的版本進行測試。定義乙個類 class person age 10 下面 沒有進行初始化是會報錯的 ...
python語法例項 python基本語法練習例項
1 列印九九乘法表 只列印結果 for i in range 1,10 for j in range 1,i 1 print i j,end print 列印算數表示式 for i in range 1,10 for j in range 1,i 1 print format j,i,i j end...
python語法練習 python基本語法練習
1 列印九九乘法表 只列印結果 for i in range 1,10 for j in range 1,i 1 print i j,end print 列印算數表示式 for i in range 1,10 for j in range 1,i 1 print format j,i,i j end...