unções privadas abstrat
O código a seguir deixará o PHP insatisfeito por customMethod () ser privado. Por que esse é o caso? A visibilidade é determinada por onde algo é declarado em vez de definido?
Se eu quisesse tornar customMethod visível apenas para o código padrão na classe Template e impedir que ele fosse anulado, eu alternativamente o tornaria protegido e final?
Template.php:
abstract class Template() {
abstract private function customMethod();
public function commonMethod() {
$this->customMethod();
}
}
CustomA.php:
class CustomA extends Template {
private function customMethod() {
blah...
}
}
Main.php
...
$object = new CustomA();
$object->commonMethod();
..