Как задать объекту класса свойства?

202
25 февраля 2019, 16:20

Имеется класс с тремя свойствами: цвет, тип, модель. Каким образом задать эти свойства (с помощью функции?), чтобы при выводе на экран команды с объектом класса var_dump($Honda) выводились эти свойства (строковые значения)?

class Car
{
protected $type;
protected $color;
protected $model;
public function __construct($type, $color, $model)
{
$this->type = $type;
$this->color = $color;
$this->model = $model;
}
public function setParameters($color)
{ 
    $color = 'green';
    $type = 'sportcar';
    $model = 'A21';
}
}

$AstonM = new Car();
$Honda = new Car();

var_dump($Honda);
Answer 1

У вас конструктор принимает аргументы. Используйте их.

$AstonM = new Car( 'Aston', 'red', '10' );
$Honda = new Car( 'Honda', 'blue', 'Civic' );

Если хотите убрать из конструктора и пользоваться функцией, то так:

class Car
{
    protected $color;
    protected $type;
    protected $model;
    public function setParameters($color, $type, $model)
    {
        $this->color = $color;
        $this->type = $type;
        $this->model = $model;
    }
}

$AstonM = new Car();
$AstonM->setParameters('green', 'sportcar', 'A21');
$Honda = new Car();
$Honda->setParameters('blue', 'hatchback', 'Civic');

var_dump($AstonM);
var_dump($Honda);
READ ALSO
InterBase 7.5 + php

InterBase 7.5 + php

Всем доброго дняУ меня есть база на InterBase 7

162
Модуль ocstore 2.3 для вывода изображений

Модуль ocstore 2.3 для вывода изображений

Суть в том, что на ocstore нужен модуль, который будет удобен заказчику для управления из админки; Модуль ищу такой:

127
На joomla 3 создать ссылку с редиректом

На joomla 3 создать ссылку с редиректом

Помогите настроить routerphp на Joomla 3

137
url manager и поддомены в yii2

url manager и поддомены в yii2

Цель: сделать города на сайте как поддомены

151