2011-09-23 38 views
1

我是oop的新手,並試圖理解在類中放置代碼的合適位置。到目前爲止,我的理解有三個主要領域,你可以把你的代碼:類中的什麼代碼應該屬於構造函數,方法

  • 在上課的時候
  • 在(出在 類級別聲明實例變量的構造函數或方法之外)。構造
  • 在方法

什麼是協議儘可能的類型/類型的代碼應在每個那些部分去了?

+3

您不能在屬性聲明中放置代碼。所以不要把代碼放在那裏。 – mario

+1

@mario其實這是一個很棒的評論。我最近發佈了一個關於獲取錯誤的問題,因爲我試圖在屬性聲明中編寫一些代碼,只有一個人明確聲明我不能這麼做...... – user784637

回答

2
  • 屬性應該只能直接定義staticconst值。其他值可以在構造函數/方法中定義。
  • 構造函數應該只定義類/對象正常工作所需的值(您也可以從構造函數中調用方法)。
  • 方法可以定義everthing else。
  • 還有一個析構函數。
2

這是一種取決於你。不同的模式/設計標準決定了不同的方法。通常情況下,構造函數只會'詢問'對象的基本內容(如數據庫連接),並將其存儲在對象的屬性中。無論如何,你想讓你的構造函數變小,並且儘可能靈活 - 你永遠不知道在將來你可能以哪種方式使用這個對象!所以,舉個例子,目前在構造函數中從數據庫加載一些數據似乎是一個好主意,通常最好將這些東西放在方法中,以便以後可以隨意跳過。

相關問題