Я бы подумал, что многие люди задавались вопросом, возможно ли это, но я не могу найти никаких повторяющихся вопросов … поправьте меня.
Я просто хочу знать, предлагает ли PHP чистые виртуальные функции. Я хочу следующее
class Parent { // no implementation given public function foo() { // nothing } } class Child extends Parent { public function foo() { // implementation of foo goes here } }
Огромное спасибо.
Вы можете создавать абстрактные функции, но вам также нужно объявить родительский класс как абстрактный:
abstract class Parent { // no implementation given abstract public function foo(); } class Child extends Parent { public function foo() { // implementation of foo goes here } }
Объявите метод абстрактным в классе родителя:
abstract public function foo();
Есть абстрактные классы !
abstract class Parent { // no implementation given abstract public function foo(); } } class Child extends Parent { public function foo() { // implementation of foo goes here } }
Да, такой тип решения возможен, он называется полиморфизмом, вы можете сделать это без объявления абстрактного класса или интерфейса.