У меня есть три класса:
class Animal {
public $type;
public function getInfo(){
return "It's are {$this->type}";
}
public function giveResource($min, $max){
return rand($min, $max);
}
}
class Chiken extends Animal {
public $type = "chiken";
public function getInfo(){
return Animal::getInfo();
}
public function giveResource(){
return Animal::giveResource(8, 12);
}
}
class Cow extends Animal {
public $type = "cow";
public function getInfo(){
return Animal::getInfo();
}
public function giveResource(){
return Animal::giveResource(8, 12);
}
}
giveResource в Chiken не исполняется, выдает ошибку:
Declaration of Chiken::giveResource() must be compatible with Animal::giveResource($min, $max)
При этом giveResource в Cow отрабатывает, до тех пор, пока не поменять название функции в Chiken, тогда функция в Cow показывает такую же ошибку.