Я новичок в использовании ООП в 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
методы могут быть переопределены в подклассах. Частные функции не могут.