有太多的子类,如果它们包含'example'getName()函数,我想处理它们,并在'SuperClass'中重写它们,并希望为每个子类打印'a'。我该如何实现?
<?php
class SuperClass{
public function getName(){
echo 'a';
}
}
class ChildClass extends SuperClass{
public function getName(){
echo 'b';
}
}
class SecondChildClass extends SuperClass{
public function getName(){
echo 'c';
}
}
$a = new ChildClass();
$a->getName(); //prints a
$b = new SecondChildClass();
$b->getName(); //prints a
?>
例如,要正确工作,只需从SuperClass中删除getName()函数。如果您仍然希望每隔一段时间调用SuperClass getName,请尝试重载SuperClass getName函数。
getName($flag)
这样,如果你想对SuperClass变量进行类化,你就给它传递标志,否则它就会调用子类。
<?php
class SuperClass{
public function getName($flag){
echo 'a';
}
}
class ChildClass extends SuperClass{
public function getName(){
echo 'b';
}
}
class SecondChildClass extends SuperClass{
public function getName(){
echo 'c';
}
}
$a = new ChildClass();
$a->getName(); //prints b
$a->getName(true); //prints a
$b = new SecondChildClass();
$b->getName(); //prints c
$b->getName(true); //prints a
?>