2009年10月29日 星期四
筆記:Python 的 Class (二) Class、object、instantiation
一、結構
Class A ----> object 1 ----> instantiation
|
|--> object 2 ----> instantiation
|
|--> object 3 ----> instantiation
|
|--> ............................
簡單講,一個 Class 同時可以有多個 object,
而 object 必須 instantiation 才可運用。
二、instantiation(實例化)
實例化有兩個方向,一係設定 attribute (屬性),如 attr.class ,
另一個係 method(方法),即係寫成 function (函數)。
如下例:
>>> class book2:
" 這是一個測試, class book"
author="storylai"
name="Hello, Python !"
price=500
def show(self):
print self.author
print self.name
print self.price
>>> book2().show()
storylai
Hello, Python !
500
三、 method(方法)
在上例中,凡使用method(方法)時,必須採用如 def() 函數作定義,
唯一不同是必須包含參數 self 。
因此,使用 method 中的屬性時,必須寫成 self.attris 。
參數 self 的出現,是區分「公用」或「私有」的 namespace 命名空間,
這樣既可對特定的屬性作出保護,又可以區分不同 class 但同名的屬性或
方法。
上例中,同一 class 中的 author 雖然被視為「公用」,但仍只限於同一
class 內使用。而在 def 內應用時,亦要加上 self.xxxx ,以避免誤用。
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言