哪种方法是在具有主体的类中扩展方法的最佳方法?
class one
{
public function methOne($var)
{
// Something here
}
public function methTwo($var)
{
// Something here
}
}
class two extends one
{
public function methTwo($var, $varTwo)
{
if($varTwo === true)
parent::methTwo($var);
else
return 100;
}
}
在上面的示例中,考虑到父methTwo具有可以在某些情况下重用的逻辑,我是否可以强制第二类扩展methTwo? 我本来想抽象类和方法,但不能抽象出不为空的方法。
答案 0 :(得分:2)
您可以在基类中创建方法protected
。如果子类没有覆盖它,则调用者将收到错误消息,因为他们无法访问该名称。但是子类可以从其重写方法调用它,因为子类可以访问受保护的名称。