構造器

在類別基礎的面向對象程序設計中 ， 構造器 （ 英語 ： Constructor ， 有時簡稱 ctor ） ， 別稱 ： 構造方法 、 構造函數 、 建構子 、 建構式 ） 是一個 - { zh - hans: 類; zh - hant: 類別; } -- { zh - hans: 裏; zh - hant: 裏 } - 用於建立對象的特殊子程序 。 它能初始化一個新建的對象 ， 並時常會接受參數用以設定變量 。 構造器跟一般的實例方法十分相似 ； 但是與其它方法不同 ， 構造器沒有 ， 不會被繼承 ， 且不會有範圍修飾符 。 構造器的函數名稱一般與它所屬的 - { zh - hans: 類; zh - hant: 類別; } - 的名稱相同 。 它承擔着初始化對象數據成員並建立類不變象的任務 ； 在 - { zh - hans: 類; zh - hant: 類別; } - 不變象無效的時候它會失敗 。 一個正確編寫的構造器會使它生成的對象保持在一個有效狀態 。 不可變物件必須在構造器內完成所有初始化 。 多數編程語言允許構造器重載 - 一個 - { zh - hans: 類; zh - hant: 類別; } - 被允許擁有多個接受不同種類的構造器同時存在 。 一些編程語言允許某些特殊種類的構造器 。 使用單個 - { zh - hans: 類; zh - hant: 類別; } - 來具體地建立和返回新實例的構造器 ， 時常被抽象爲工廠方法 - 一種同樣用來建立新對象 ， 但會同時使用多個 - { zh - hans: 類; zh - hant: 類別; } - ， 或者一些諸如對象池的分配方案來完成這一過程的子程序 。