Полиморфизм в php живые примеры? Привет Кто может привести пример полиморфизма из своих реальных примеров в PHP ? устал уже читать про создание армий солдатов, машин или фигур....
У нас есть классы Shape, Circle и Rectangle. Shape - это абстрактный класс, от которого наследуются классы Circle и Rectangle. У классов Circle и Rectangle есть метод calculateArea(), который вычисляет площадь фигуры.
abstract class Shape { abstract public function calculateArea(); } class Circle extends Shape { private $radius; public function __construct($radius) { $this->radius = $radius; } public function calculateArea() { return pi() * pow($this->radius, 2); } } class Rectangle extends Shape { private $width; private $height; public function __construct($width, $height) { $this->width = $width; $this->height = $height; } public function calculateArea() { return $this->width * $this->height; } } $circle = new Circle(5); $rectangle = new Rectangle(4, 6); echo $circle->calculateArea(); // Выведет 78.54 echo $rectangle->calculateArea(); // Выведет 24
Здесь мы видим полиморфизм, так как метод calculateArea() вызывается у разных объектов (круга и прямоугольника), и каждый из них возвращает площадь своей фигуры.
Конечно, вот пример полиморфизма на PHP:
У нас есть классы Shape, Circle и Rectangle. Shape - это абстрактный класс, от которого наследуются классы Circle и Rectangle. У классов Circle и Rectangle есть метод calculateArea(), который вычисляет площадь фигуры.
abstract class Shape {abstract public function calculateArea();
}
class Circle extends Shape {
private $radius;
public function __construct($radius) {
$this->radius = $radius;
}
public function calculateArea() {
return pi() * pow($this->radius, 2);
}
}
class Rectangle extends Shape {
private $width;
private $height;
public function __construct($width, $height) {
$this->width = $width;
$this->height = $height;
}
public function calculateArea() {
return $this->width * $this->height;
}
}
$circle = new Circle(5);
$rectangle = new Rectangle(4, 6);
echo $circle->calculateArea(); // Выведет 78.54
echo $rectangle->calculateArea(); // Выведет 24
Здесь мы видим полиморфизм, так как метод calculateArea() вызывается у разных объектов (круга и прямоугольника), и каждый из них возвращает площадь своей фигуры.