2016-03-04 2 views
0

Я пытаюсь добавить значение к переменной public внутри класса с помощью функции. Я не уверен, как это сделать. Мой текущий код 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 
} 
} 

пытает добавить целочисленное значение $ Цены и $ Horsepower через метод. Я пытался использовать __construct(), хотя это дает мне фатальную ошибку: Cannot redeclare Truck::__construct().

+1

как ошибка сказать 'Невозможно переопределить Truck :: __ construct()'. класс имеет одну функцию 'construct()'. – urfusion

+1

Вы просто не можете иметь конструктор дважды, иначе все в порядке. (Также переменная в классе называется свойством, а функция - методом) – Rizier123

ответ

2

Вы определяете два constructor внутри class, таким образом, ошибка - 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 конструктора), чтобы назвать только 2-й 1? как конструктор2? – izk

+0

Спасибо за ваш ответ; и всех остальных, которые прокомментировали выше. Это решило эту проблему! Что я должен сделать, чтобы убедиться, что функция __construct() запускает и обновляет значения, чтобы я мог использовать ShowHorsePower? –

+0

@baboizk. Тогда это будет 'функция-член 'этого класса. Это нормально. Но у вас не может быть двух конструкторов для одного класса. –

Смежные вопросы