Dart Constructors(構造函式)
Feb 5, 2025
在 Dart 中,Constructor(構造函式) 負責建立物件(Instance),並初始化其屬性。Dart 提供多種 Constructor 類型,並且支援一些特殊語法來優化物件建立的方式。
Constructors 類型
- Default Constructor(預設構造函式)
- Named Constructor(具名構造函式)
- Factory Constructor(工廠構造函式)
- Redirecting Constructor(重定向構造函式)
- Const Constructor(常數構造函式)
📝 Default Constructor(預設構造函式)
當類別中沒有明確定義 Constructor 時,Dart 會自動提供一個無參數的預設構造函式。
📌 範例
✅ 使用
📝 Named Constructor(具名構造函式)
Dart 不支援 Constructor Overloading(函式重載),但可以透過 Named Constructor 來提供不同的初始化方式。而 Named Constructor 可以使用 Initializer List(初始化列表) 來設定預設值。
📌 範例
✅ 使用
📝 Factory Constructor(工廠構造函式)
Factory Constructor 可用於:
- 避免每次都建立新實例(例如:Singleton Pattern)
- 根據條件決定是否建立新實例
- 返回子類的實例,而非當前類別
📌 1️⃣ 避免每次都建立新實例
✅ 使用
📌 2️⃣ Singleton(單例模式)
✅ 使用
📌 3️⃣ 回傳子類的實例
✅ 使用
📝 Redirecting Constructor(重定向構造函式)
如果一個 Constructor 只是為了呼叫另一個 Constructor,我們可以使用 Redirecting Constructor 來簡化代碼。
📌 範例
✅ 使用
📝 Const Constructor(常數構造函式)
📌 範例
✅ 使用
如果您喜歡我的文章,請多按幾下「拍手」給我鼓勵,或是按「follow」讓我持續提供好文章給您。