最近,由于子/父方法的比较,我开始患上5.4 PHP服务器。我确实理解错误,但我不理解这个概念。 为什么PHP实现这个?以下snap-code是不良行为?为什么这是一个不好的行为?如何"正确"建立一个"快捷方法"在子类中,签名必须兼容吗?
Class File {
public function validate($exts, $maxSize){
// Validate if this->flie is valid according to extension and size.
}
}
Class Image extends File {
public function validate($maxSize){
$exts = array("jpeg", "jpg", "png", "gif");
return parent::validate($exts, $maxSize);
}
}
答案 0 :(得分:2)
也许是这样的:
Class File {
public function validate($maxSize, $exts){
// if !is_array || empty $exts throw exception
// Validate if this->file is valid according to extension and size.
}
}
Class Image extends File {
public function validate($maxSize, $exts=array()){
$exts = array("jpeg", "jpg", "png", "gif");
return parent::validate($maxSize, $exts);
}
}