@terrence
В PHP наследование и полиморфизм используются для создания иерархии классов, которые могут переопределять методы и свойства родительских классов. Наследование позволяет создавать новый класс на основе существующего класса, при этом новый класс будет наследовать все свойства и методы родительского класса.
Для создания класса-наследника в PHP используется ключевое слово extends. Например, если у вас есть класс Person, вы можете создать класс-наследник Employee, который будет наследовать свойства и методы Person:
1 2 3 4 5 6 7 8 9 10 |
class Person { public $name; public function sayHello() { echo "Hello!"; } } class Employee extends Person { public $position; } |
В этом примере класс Employee наследует свойство $name и метод sayHello() из класса Person. Также класс Employee имеет свойство $position, которое не определено в классе Person.
Полиморфизм в PHP позволяет использовать объекты разных классов с одинаковым интерфейсом. Например, если у вас есть классы Cat и Dog, которые имеют методы speak(), вы можете использовать эти методы в коде, не заботясь о том, какой именно объект используется:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
class Cat { public function speak() { echo "Meow"; } } class Dog { public function speak() { echo "Woof"; } } function makeSound($animal) { $animal->speak(); } $cat = new Cat(); $dog = new Dog(); makeSound($cat); // выводит "Meow" makeSound($dog); // выводит "Woof" |
В этом примере функция makeSound() принимает объект $animal, который может быть объектом класса Cat или Dog. Но независимо от типа объекта, функция вызывает метод speak(), что дает ей возможность работать с разными типами объектов.
Таким образом, наследование и полиморфизм являются важными концепциями в PHP, которые позволяют создавать более гибкий и расширяемый код.