2016-03-04 65 views
0

我正在嘗試使用函數向類中的公共變量添加值。我不確定如何去做。我目前的PHP代碼如下:PHP - 爲類中的變量添加一個值

class Truck { 
public $Odometer = 0; 
public $Model = 'Triton'; 
public $Price; 
public $Horsepower; 

public function __construct() { 
    $this->Price = 30; 
} 
public function __construct() { 
    $this->Horsepower = 205; 
} 
public function ShowOdometer() { 
    echo "Odometer: ".$this->Odometer; 
} 
public function ShowModel() { 
    echo "Model: ".$this->Model; 
} 
public function ShowPrice() { 
    echo "Cost: ".$this->Price; 
} 
public function ShowHorsepower() { 
    echo "Horsepower: ".$this->Horsepower 
} 
} 

正嘗試通過方法爲$ Price和$ Horsepower添加一個整數值。我試圖使用__construct(),雖然這給了我一個致命錯誤:Cannot redeclare Truck::__construct().

+1

as error say'Can not redeclare Truck :: __ construct()'。一個類有一個'construct()'函數。 – urfusion

+1

你只是不能有構造函數兩次,否則一切都可以。 (也是一個類中的變量稱爲屬性;函數是一個方法) – Rizier123

回答

2

您所定義的class內的兩個constructor,從而錯誤 - Fatal error: Cannot redeclare Truck::__construct()。嘗試 -

class Truck { 
public $Odometer = 0; 
public $Model = 'Triton'; 
public $Price; 
public $Horsepower; 

public function __construct() { 
    $this->Price = 30; 
    $this->Horsepower = 205; 
} 
public function ShowOdometer() { 
    echo "Odometer: ".$this->Odometer; 
} 
public function ShowModel() { 
    echo "Model: ".$this->Model; 
} 
public function ShowPrice() { 
    echo "Cost: ".$this->Price; 
} 
public function ShowHorsepower() { 
    echo "Horsepower: ".$this->Horsepower 
} 
} 
+0

你是對的構造函數,但它也可能(如果他需要更多的1構造函數)只命名第二個1不同?像constructor2? – izk

+0

謝謝你的回答;和上面評論的所有其他人。這已經解決了這個特殊的問題!我必須做些什麼來確保__construct()函數運行並更新值,以便使用ShowHorsePower? –

+0

@baboizk。那麼這將是該類的「成員函數」。這是正常的。但是你不能爲同一個類使用兩個構造函數。 –