Абстрактные функции PHP: примеры и использование

В PHP «абстрактная функция» относится к объявлению метода внутри абстрактного класса, который не содержит реализации. Абстрактные функции предназначены для переопределения конкретными (не абстрактными) классами, расширяющими абстрактный класс. Вот несколько примеров использования абстрактных функций в PHP:

Пример 1: объявление абстрактной функции

abstract class Animal {
    abstract public function makeSound();
}
class Dog extends Animal {
    public function makeSound() {
        echo "Woof!";
    }
}
$dog = new Dog();
$dog->makeSound(); // Output: Woof!

В этом примере класс Animalимеет абстрактную функцию makeSound(), которая должна быть реализована любым конкретным классом, расширяющим Animal. Класс Dogрасширяет Animalи обеспечивает реализацию метода makeSound(), повторяя «Гав!»

Пример 2: Абстрактная функция с параметрами

abstract class Shape {
    abstract public function calculateArea();
}
class Rectangle extends Shape {
    private $length;
    private $width;
    public function __construct($length, $width) {
        $this->length = $length;
        $this->width = $width;
    }
    public function calculateArea() {
        return $this->length * $this->width;
    }
}
$rectangle = new Rectangle(5, 3);
echo $rectangle->calculateArea(); // Output: 15

В этом примере класс Shapeимеет абстрактную функцию calculateArea(). Класс Rectangleрасширяет Shapeи предоставляет реализацию метода calculateArea(), который вычисляет площадь прямоугольника на основе его длины и ширины..