I'm new to using OOP in PHP (And in general) and I had a question about inheritance.
I have the following classes:
class OCITable {
public function display() {
$this->drawHeader();
$this->drawFooter();
$this->drawBody();
}
private function drawHeader() {
...
}
private function drawFooter() {
...
}
private function drawBody() {
...
}
}
class OCITableServer extends OCITable {
private function drawBody() {
...
}
}
What I'm trying to do is overrule the private function drawBody(). This doesn't seem to work. I think this is because when a OCITableServer object calls display(), it calls the parent class's display(), which in turn calls its drawBody(), instead of the new drawBody().
How would I accomplish what I'm trying to do without redefining display() in my sub class?
Protected methods can be overridden in subclasses. Private functions cannot.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With