個體物件的設定值,可由 __init__ 這個起始函式自動完成,通常 __init__ 又被稱為類別的「建構子」(constructor)。每次有新的個體物件被建立,都會找尋 __init__ 的設定內容,自動完成新個體物件的起始設定值。
class Circle: Œ
def __init__(self): Œ
self.radius = 1 Œ
def area(self):
return self.radius * self.radius * 3.14159
myCircle = Circle()
print 2 * 3.14 * myCircle.radius
myCircle.radius = 5 Ž
print 2 * 3.14 * myCircle.radius Ž
print myCircle.area()
Œ 類別 Circle 裡有個 __init__() 函式,設定其 radius 值為 1。
注意到 self 這個參數,慣例上它就是 __init__() 函式的第一個參數,
當 __init__ 起始設定時,self 就會被設定為新建立的個體上。
新個體物件建立後,有自己的個體變數 (instance variables),如 radius 即為一例。
Ž 個體變數的值可以重新設定。
可以為個體物件設定物件方法 (method),其方式就像定義函式一般。
================================================================
class Circle:
def __init__(self, r=1):
self.radius = r
def area(self):
return self.radius * self.radius * 3.14159
c = Circle(5)
print c.area()
上述則是另一個改進版本的 Circle 類別內容設定,增加預設變數 r,並指定其預設值為 1。如此一來,我們便可透過 Circle(5) 這樣的方式來指定新個體的建立。
沒有留言:
張貼留言