2010-11-22 46 views
0

我剛剛進入PHP OOP,我不清楚我需要在課程開始時聲明哪些屬性。什麼時候聲明一個類的屬性?

難道我宣佈性質:

答:這是方法的參數? B:不是方法的參數,但仍然在方法中?

C:從一個方法返回?

編輯實例 這裏的UserClass的我試圖創建

class user 
{ 
public function selectMember($username,$password) 
$query = "SELECT * FROM users WHERE username='$username' && password='$password'"; 
return $query; 
} 

所以我只在類的頂部聲明$查詢的例子嗎?

+0

在這個例子中沒有必要查詢屬性。在獲取用戶數據後,如果以後需要這些數據,可能需要將這些數據作爲屬性 – 2010-11-22 20:11:29

回答

1

我認爲這些東西的方式是一個對象是一個真實生活對象(杜)的代碼表示。上面的汽車例子是一個很好的例子。對於大多數真實生活對象來說,都有屬性和動作。如果我們的對象是人,它將具有名稱,身高,體重,頭髮顏色等屬性。然後,我們的人會有行動,如跑步,睡覺,吃飯。

動作將是方法,屬性將是屬性。屬性將被用於動作或程序的其他部分,這些部分需要檢查對象的狀態,IE中,程序的另一部分會詢問該人員現在有多高。

在大多數情況下,返回值和參數不會是屬性。一個值得注意的例外是用於實例化對象的參數,因爲其他方法通常需要這些參數。就方法中使用的變量而言,如果它們定義了對象的整體狀態,那麼它們應該是屬性,但是如果您要在方法內部創建一個變量(如計數器),那隻需要完成方法的目標即可,它是沒有意義的,它是你的對象的屬性。

我會從更少屬性的角度出發。如果你到了需要財產來完成某件事情的地步,那麼就創建它。直到我有直接需求時,我纔會創建它們。通過這種方式,您將開始瞭解對象需要哪些屬性才能在邏輯上運行。

我希望這有點道理。

2

屬性是關於對象的數據塊。例如,以經典汽車爲例:

  • 汽車的顏色,品牌/型號,年份等等都是汽車的屬性。
  • 可能有一個方法StartCar需要一個Key對象才能啓動。汽車沒有鑰匙,因此鑰匙不是鑰匙 - 這是一種方法論證。但汽車確實有一個能夠驗證給定密鑰的鎖。參數和屬性一起工作來執行操作(或者,在這種情況下,驗證操作)。

汽車類的每個實例可能具有不同的這些屬性值。

如果您需要特定的幫助來決定如何製作屬性,我們將需要更多關於您特定要求的信息。

+0

我正在嘗試構建一個用戶類。這是一個簡單的例子。 – Tableking 2010-11-22 19:19:31

相關問題