跳轉到內容

面向物件程式設計/建構函式

來自華夏公益教科書,開放的書籍,開放的世界

什麼是建構函式?

[編輯 | 編輯原始碼]

在面向物件程式設計中,建構函式是在建立新類物件時執行的函式。此子例程確保類被正確例項化。建構函式首先檢查是否有足夠的資源(記憶體)來建立新物件,然後分配記憶體。之後,建構函式可以執行由程式設計師可選提供的自定義程式碼。如果每個類在建立時都傳遞了資料,這將非常有用,從而使每個類都獨一無二。可以使用建構函式將傳遞的引數分配給類內的特定屬性,如果需要,還可以呼叫其他類方法在建構函式內進行資料操作。重要的是要注意,建構函式每個物件只調用一次,因此一旦類被例項化,建構函式將不再用於該類的特定例項。

Class.py
class Values():

  def __init__(self, value):
    self.value = squared(value)

  def squared(self, value):
    self.value = self.value * self.value
Main.py
from Class.py import Values

instance = Values(4)
print(instance.value())

# Output: 16

從上面的例子可以看出,我們有一個__init__函式。在Python中,這是程式設計師控制的類建構函式方面。此示例顯示建構函式獲取傳入的值,並將其平方。所有這些都在類被例項化時完成,沒有方法被Main.py直接呼叫。當有傳入值時,建構函式非常方便,當類被例項化時,以及當這些傳入值必須在使用之前進行操作時。

華夏公益教科書