I would have thought lots of people would have wondered whether this is possible but I can\'t find any duplicate questions... do correct me.
I just want to know whether
Yes, that type of solution is possible, it's called polymorphism, you can do it without declaring an abstract class or an interface.
There are abstract classes!
abstract class Parent {
// no implementation given
abstract public function foo();
}
}
class Child extends Parent {
public function foo() {
// implementation of foo goes here
}
}
You can create abstract functions, but you need to declare the parent class as abstract, too:
abstract class Parent {
// no implementation given
abstract public function foo();
}
class Child extends Parent {
public function foo() {
// implementation of foo goes here
}
}
Declare the method as abstract in the Parent class:
abstract public function foo();