<?php
abstract class Figure {
abstract public function Draw();
}
class Triangle extends Figure {
public function Draw() {
echo 'рисуем треугольник';
}
}
class Ellipse extends Figure {
public function Draw() {
echo 'рисуем эллипс';
}
}
class Circle {
public function Draw() {
echo 'рисуем круг';
}
}
function drawFigure($fig) {
if ($fig instanceof Figure) {
$fig->Draw();
} else {
echo 'Неизвестная фигура';
}
}
$triangle = new Triangle();
$ellipse = new Ellipse();
$circle = new Circle();
drawFigure($ellipse);
drawFigure($circle);
drawFigure($triangle);
?>
если можно в родительском классе определить тот же самый метод и затем переопределить в дочерних?
<?php
class Figure {
function Draw() {
echo "Рисуем хз что";
}
}
class Triangle extends Figure {
public function Draw() {
echo 'рисуем треугольник';
}
}
class Ellipse extends Figure {
public function Draw() {
echo 'рисуем эллипс';
}
}
class Circle {
public function Draw() {
echo 'рисуем круг';
}
}
function drawFigure($fig) {
if ($fig instanceof Figure) {
$fig->Draw();
} else {
echo 'Неизвестная фигура';
}
}
$triangle = new Triangle();
$ellipse = new Ellipse();
$circle = new Circle();
drawFigure($ellipse);
drawFigure($circle);
drawFigure($triangle);