Я новичок в использовании ООП в PHP (и вообще), и у меня возник вопрос о наследовании.
У меня есть следующие классы:
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() { ... } }
То, что я пытаюсь сделать, это отменить частную функцию drawBody() . Кажется, это не работает. Я думаю, это связано с тем, что когда объект OCITableServer вызывает display() , он вызывает display() родительского класса display() , которое в свою очередь вызывает его drawBody() вместо нового drawBody() .
Как я могу выполнить то, что я пытаюсь сделать, не переопределяя display() в моем подклассе?
Protected методы могут быть переопределены в подклассах. Частные функции не могут.