類別與物件
還記得剛剛講的資料型態嗎,其實每一種型態就是一種 類別 (class),比如說整數一種資料型態,也是一種類別,而一個類別的實際的例子,稱為 實例 (instance),又稱 物件 (object)。
比如說 100
就是整數類別的實例,我們也稱它是物件。
其實一種類別是 資料跟運算的集合體,就像整數包含了本身的數值跟加法減法等運算一樣,我們稱資料的本體為類別或物件的 屬性(attribute),而屬於該類別的運算 (通常包裝成函式) 稱之為 方法 (method)。
我們舉個簡單的例子:
假設我們有一個類別叫做 Cat
,my_cat
是 Cat
的實例,我們可以如此使用:
>>> my_cat.name
'Kity'
>>> my_cat.shout()
Meow
我們利用點 .
來取得一個類別實例 (物件) 的屬性或是呼叫他的方法 (函式),my_cat.name
會取得這隻貓的名字,而 my_cat.shout()
讓這隻貓執行 "叫" 這個動作而發出 'Meow'
的聲音。
就跟函數一樣,除了內建的幾種類別之外,我們也能夠自定自己的類別 (像是剛剛的 Cat
就是作者自定的),自定的方法我們一樣留到後面統一來談,現在只要知道如何取得屬性跟呼叫方法即可。