14.類與可口可樂(lè)(2)

##類與可口可樂(lè)(2)

#1.魔術(shù)方法

def __init__():

在類里定義,在創(chuàng)建實(shí)例時(shí)能幫助你自動(dòng)的處理很多事情,比如新增實(shí)例屬性

__init__()是initialize(初始化)的縮寫(xiě)

#Demo 1.1

class Cocacola():

????formula = ['caffine','sugar','water','soda']

????def __init__(self):

? ? ? ? self.local_logo = '可口可樂(lè)'

????def drink(self):

????????print('Energy!')

coke = Cocacola()

print(coke.local_logo)

#>>>可口可樂(lè)'''

#Demo 1.2

class Cocacola:

????formula = ['caffine','sugar','water','soda']

????def __init__(self):

????????for elementin self.formula:

????????????print('Coke has {}!'.format(element))

????def drink(coke): #該函數(shù)未被執(zhí)行

????????????print('Energy!')

coke = Cocacola()

#Demo 1.3

#__init__()的說(shuō)明:

#1.__init__可以擁有自己的參數(shù)

#2.__init__可以自動(dòng)執(zhí)行,不需要使用obj.__init__()的方式來(lái)執(zhí)行

class Cocacola:

????formula = ['caffine','sugar','water','soda']

? ? def __init__(self,logo_name):

????????????self.local_logo = logo_name

? ? ? ? ????#左邊是變量作為類的屬性,右邊是傳入這個(gè)參數(shù)作為變量

????? ? ? ? #變量的復(fù)制所存儲(chǔ)的結(jié)果取決于初始化的時(shí)候所傳進(jìn)來(lái)的參數(shù)logo_name

? ? ????? ? #傳進(jìn)來(lái)什么就將是什么

????def drink(self):

????????????print('Energy!')

coke = Cocacola('可口可樂(lè)')

print(coke.local_logo)


#2.類的繼承(inheritance)

#Demo 2.1 配方的重定義

#所有子品類都會(huì)繼承可口可樂(lè)的品牌--->類的繼承(inheritance)

class Cocacola:

????calories =140

? ? sodium =45

? ? total_carb =39

? ? caffine =34

? ? ingredients = [

????????????????'High Fructose Corn Syrup'

????????????????'Carbonated Water'

????????????????'Phosphoric Acid'

????????????????'Natural Flavors'

????????????????'Caramel Color'

????????????????'Caffine'????????]

????def __init__(self,logo_name):

????????????????self.local_logo = logo_name

????def drink(self):

????????????????print('You got {} cal energy!'.format(self.calories))


class CaffineFree(Cocacola):

????#在新的類CaffineFree后的括號(hào)里放入Cocacola,表示這個(gè)欸繼承于父類CocaCola

? ? #父類中的變量完全被子類繼承。有改動(dòng)可以進(jìn)行覆蓋(Override)

? ? caffine =0

? ? ingredients = [

????????????????'High Fructose Corn Syrup'

????????????????'Carbonatd Water'

????????????????'Phosphoric Acid'

????????????????'Natural Flavors'

????????????????'Caramel Color'????????]

coke_a = CaffineFree('Cocacola-FREE')

coke_a.drink()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容