Назад | Вперед |
Метод класса, который может быть переопределён в классах-наследниках так, что конкретная реализация метода для вызова будет определяться во время исполнения. Виртуальные методы – один из важнейших приемов реализации полиморфизма.
Пример:
<?php
class First {
// метод Car(), выводит на экран "Car it's cool"
function Car() { echo "Car it's cool"; }
// метод Call(), запускает метод Car()
function Call() { Car(); }
}
// класс Second наследуется от класса First
class Second extends First {
// метод Car(), выводит на экран "I have BMW", тем самым мы переопределяем родительский метод Car() класса First
function Car() { echo "I have BMW"; }
}
// инициализируем объекты
$a=new First();
$b=new Second();
?>
$a->Call(); // выводит "Car it's cool"
$b->Car(); // выводит "I have BMW"
$b->Call(); // выводит "I have BMW" !!!