class A {
public function foo() {
}
}
class B extends A {
}
Как после создания класса B представить его классом A
$b = new B();
Нужно "превратить", "откатить", "представить" классом A. Потом выполнить метод foo() ВАЖНО: Вызывать $b->foo() не нужно пока он не превратился в A.
parent::foo()
Не помогает
Из сказанного выше следует, что вызвать реализацию метода foo определенную в классе А можно в случаях:
Первый вариант - оставить метод foo в классе В не перекрытым, тогда будет выполняться реализация А, а нужную функциональность для класса В реализовать в методе fooB, в котором уже вызывать parent::foo().
Второй вариант - определить в классе В новый метод fooA в котором вызывать parent::foo()
Последний, самый правильный вариант - выделить общую функциональность для всех классов в отдельный метод fooBase в классе А. И вызывать по необходимости этот метод в нужном меcте в классах наследниках или определить его интерфейсным и вызывать где нужно в программе.
PS. Я не очень хорошо знаю ООП именно в PHP. Возможно, в PHP есть еще другие варианты вызова метода предка типа extension методов. Если такое есть, то пусть дополнят мой ответ гуру от PHP.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Установил composer по инструкции со офсайта
Есть сайт на OpencartМне нужно изменить 2 класса на странице каталога товаров
Всем привет! Весь интернет перерыл не могу найти решение данной проблемы У меня проект на laravel 56 сервер NGINX , хочу сделать чтоб было видно когда...
Вопрос как сделать уведомление на сайте при изменении курса валют? И также интересно сделать график изменения