再談Python中的Class
一、創建一個Class(類別):Class 的名稱慣常做法是將名稱的第一個英文字母為大寫,方便與其它程式內的變數(variables)區分,我們用製造月餅作解釋。
例子:
Class Moon_Cake:
注意:這是個空的類別(empty class),是一個製造月餅的模具。
二、如何從Class造出物件(object) :Class只是一個模具,還要透過製造(constructor),製造(constructor)其實是一個函式(function),之後加入餡料的屬性(attributes),屬性可理解為物件的特徵。
例子:
Class Moon_Cake:
def __init__(self, lotus_seed_paste):
self.lotus_seed_paste = lotus_seed_paste
解釋:我們要造一個淨蓮蓉月餅,lotus_seed_paste〈蓮蓉〉就是物件的屬性或特徵,__init__是指定的函式(function)的名稱,透過Class Moon_Cake模造出來的淨蓮蓉月餅,這個物件(指造出來的淨蓮蓉月餅),是獨立的物件,可以加減修改,例如可以加入鹹蛋黃,物件就成為蛋黃蓮蓉月餅。
三、方法(Method)在Class內的功能:Class內的Method本身就是一個函式(function), Method是可以理解為所有物件造出來的共通功能,例如所有月餅都是“美味好吃”,平常一般函式是可以在任何程式內被執行〈被call〉,但Method(方法)的函式則要與Class(類別)的物件綁定,需要指明物件裡的Method才能執行。
例子:
Class Moon_Cake:
def __init__(self, lotus_seed_paste):
self.lotus_seed_paste = lotus_seed_paste
def delicious(self):
return(self.lotus_seed_paste, + ‘月餅好好食’)
# 正式造餅
new_cake = Moon_Cake(‘蓮蓉’)
print(new_cake.delicious)
列印結果:
蓮蓉月餅好好食
那麼,物件繼承(Inheritance) 又是甚麼一回事?留待下回分解。
學勤進修教育中心電腦專科導師
周柏堅