Составил такой код:
interface Say {
public function say();
}
abstract class Animal implements Say {
private $name;
private $nickname;
private $coloring;
private $breed;
private $age;
public function __construct($name, $nickname, $coloring, $breed, $age) {
$this->name = $name;
$this->nickname = $nickname;
$this->coloring = $coloring;
$this->breed = $breed;
$this->age = $age;
}
public function getName() {
return $this->name;
return $this->nickname;
return $this->coloring;
return $this->breed;
return $this->age;
}
}
class Dog extends Animal {
public function __construct($name, $nickname, $coloring, $breed, $age) {
parent:: __construct($name, $nickname, $coloring, $breed, $age);
}
public function say() {
echo "Я - ".$this->getName()." ".$this->coloring." окраса, "."породы - ".$this->breed.", зовут меня - ".$this->nickname.", мне сейчас ".$this->age;
}
}
class Cat extends Animal {
public function __construct($name, $nickname, $coloring, $breed, $age) {
parent:: __construct($name, $nickname, $coloring, $breed, $age);
}
public function say() {
echo "Я - ".$this->getName()." ".$this->coloring." окраса, "."породы - ".$this->breed.", зовут меня - ".$this->nickname.", мне сейчас ".$this->age;
}
}
$dog = new Dog('собака', 'Рекс', 'белого', 'Немец', '5 лет');
$dog->say();
echo "<br><br>";
$cat = new Cat('кошка', 'Маркиза', 'пятнистого', 'Сфинкс', '2 года');
$cat->say();
Данный код выдаёт ошибки следующего содержания:
1. " Notice: Undefined property: Dog::$coloring in C:\xampp\htdocs\www\beonmax.com\PHP\Object_oriente d_programming\Homework_for_video_lesson_68_syntax. php on line 41 ";
2. " Notice: Undefined property: Dog::$breed in C:\xampp\htdocs\www\beonmax.com\PHP\Object_oriente d_programming\Homework_for_video_lesson_68_syntax. php on line 41 "
... и т.д...
В чём моя ошибка? Вроде всё правильно делаю.