類與對象

1、實例方法self? ?類方法cls? ? 靜態(tài)方法(普通方法)? 實例和類名都可以直接調(diào)用

2、不同點:靜態(tài)方法? 和類方法不可以調(diào)用類里面的屬性值? ?如果你要參數(shù)? 請自己傳遞參數(shù)

3、什么時候定義為靜態(tài)和類方法? ? 當你的某個函數(shù)與其他的類函數(shù)? ?類屬性 沒有一丁點關(guān)系的時候

例子如下:

class HandsomeGuy:

name='希望'

? ? sex='男'

? ? age='18'

? ? def job(self):#示例方法

? ? ? ? print (self.name+'是軟件測試工程師')

@classmethod#類方法

? ? def hobby(cls):

print ('愛好臺球')

@staticmethod#靜態(tài)方法

? ? def specialty():

print ('擅長跑步')

b=HandsomeGuy()

b.job()


HandsomeGuy.hobby()

b.hobby()


HandsomeGuy.specialty()



初始化函數(shù):

class HandsomeGuy:

def __init__(self,name,age):

self.name=name

self.age=age

def job(self):#示例方法

? ? ? ? print (self.name+'是軟件測試工程師')

b1=HandsomeGuy('張三','20')

b2=HandsomeGuy('李四','22')

b1.job()

b2.job()

類的繼承與重寫

父類有的子類都可以拿來用就是繼承(拓展)

若子類有與父類重名的函數(shù),則子類的實例就優(yōu)先調(diào)用子類的函數(shù)就是重寫

多繼承的話,父類之間不要有繼承關(guān)系,否則就是重復繼承就會報錯

如果兩個父類里面有同名函數(shù)的時候,就近原則

class father:

def __init__(self,lastname):

self.lastname=lastname

def money(self):

print('{}先生擁有一百萬'.format(self.lastname))

class son(father):

def car(self):

print('{0}先生擁有一輛車'.format(self.lastname))

def money(self):

print(self.lastname+'先生的兒子擁有一萬元')

a=son('王')

a.money()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容