在哪裡初始化類別欄位:宣告還是建構子?
初始化類別欄位時,程式設計師常會質疑最佳方法:宣告還是建構子。這種困境尤其出現在 C# 和 Java 等語言。
宣告時的欄位初始化:
public class Dice { private int topFace = 1; private Random myRand = new Random(); }
此方法可確保在變數宣告時立即進行欄位初始化。它保證即使在呼叫建構函數之前欄位也將具有一致的值。但是,如果未提供旨在修改欄位值的建構函數參數,則可能會導致意外行為。
建構函式中的欄位初始化:
public class Dice { private int topFace; private Random myRand; public Dice() { topFace = 1; myRand = new Random(); } }
這裡,欄位是在建構函式中明確初始化。這種方法允許根據建構函數輸入來參數化和靈活地設定欄位值。但是,它依賴於初始化這些字段的建構函數的存在。
最佳實踐:
要建立一致性並保持清晰度,請遵循以下準則:
以上是類別欄位:宣告還是建構函式初始化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!