Исправляемая фатальная ошибка: аргумент 1, переданный в getPrice (), должен быть экземпляром Rectangle, ни один не задан

Я просто пытаюсь вычислить цену площади прямоугольника вне класса прямоугольника, который возвращает его площадь. Просто пробую пример полиморфизма. Я делаю что-то неправильно?
Я новичок в ООП подход. Вот мой код:

// getting the area
class Rectangle{

public $height;
public $width;

public function __construct($height, $width){

$this->height = $height;
$this->width = $width;
}

public function getArea(){

return $this->height * $this->width. "<br />";
}

}

Вне класса я создал функцию `getPrice ()

`function getPrice(Rectangle $rectangle){

return $rectangle->getArea() * 0.25;

}

Создание экземпляра и распечатка.

$rectangle = new Rectangle(12, 15);
echo getPrice();

Отображение ошибки:

Исправляемая фатальная ошибка: Аргумент 1, передаваемый в getPrice (), должен быть экземпляром Rectangle, не заданным, и вызываться в /var/www/html/crashcourse/oop_php/phpacademy/polymorphism.php в строке 41 и определяться в / var / www / html / crashcourse / oop_php / phpacademy / polymorphism.php в строке 31

0

Решение

Обратите внимание, что функция getPrice () имеет параметр $ rectangle класса Rectangle класса, вам нужно передать объект Rectangle, который является экземпляром класса.
Сделайте следующее:

$ rectangle = new Rectangle (12, 15);
echo getPrice ($ rectangle);
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]