Как создать 50 экземпляров класса?
0
Как создать 50 экземпляров класса в цикле?
Пробовал через for и foreach не получается. Что я делаю не так?
<?php
class Animal {
private $name;
private $color;
private $breed;
private $age;
public function __construct($name, $color, $breed, $age) {
$this->name = $name;
$this->color = $color;
$this->breed = $breed;
$this->age = $age;
}
public function say() {
echo "породы ".$this->breed." ".$this->color." цвета. Моя кличка - ".$this->name.". Мой возраст - ".$this->age." и ";
}
}
class Dog extends Animal {
public function typeDog() {
echo "Я собака ";
}
public function bark() {
echo "я ляю.";
}
}
class Cat extends Animal {
public function typeCat() {
echo "Я кошка ";
}
public function mew() {
echo "я мяукаю.";
}
}
for ($i=0; $i < 50; $i++) {
foreach ($i as $key => $dog) {
$dog = new Dog("Лаки", "рыжего", "овчарка", "5 лет");
$dog->typeDog();
$dog->say();
$dog->bark();
}
}
echo "<br>";
$cat = new Cat("Муся", "серого", "бенгал", "6 лет");
$cat->typeCat();
$cat->say();
$cat->mew();
1 ответов
0
Находил здесь такой пример, сохранил себе:
<?php
class Animal{
private $name;
private $color;
private $breed;
private $age;
public function __construct( $name, $color, $breed, $age){
$this->name = $name;
$this->color = $color;
$this->breed = $breed;
$this->age = $age;
}
public function say(){
echo "ee имя - ".$this->name.", окраска - ".$this->color.", порода - ".$this->breed.", возраст - ".$this->age;
}
}
class Cat extends Animal{
public function catSay(){
echo "Это кошка ";
}
}
class Dog extends Animal{
public function dogSay() {
echo "Это собака ";
}
}
/* Массивы с именами, окраской, породой */
$randName = array("Айли","Птолемей","Жук","Чауст","Аркон","Рыжик","Фокс","Скейч","Пророк","Челли","Найт","Кельт","Акбай");
$randColor = array("Черный","Пятнистый","Белый","Коричневый","Серый");
$randCatBreed = array("Сиамская","Сибирская","Персидская","Норвежская лесная","Уральский рекс","Японский бобтейл","Корат");
$randDogBreed = array("Акита-ину","Бордер-колли","Кеесхонд","Немецкая овчарка","Фокстерьер","Такса","Эрдельтерьер");
/*
* Функции для рандомизации: rand и mt_rand.
* Документация про эти функции: http://php.net/manual/ru/function.mt-rand.php
* Документация про эти функции: http://php.net/manual/ru/function.rand.php
*/
for ($i = 0; $i <= 50; $i++) {
$rName = mt_rand(0, count($randName) - 1);
$rColor = mt_rand(0, count($randColor) - 1);
$rBreed = mt_rand(0, count($randCatBreed) - 1);
$cat = new Cat($randName[$rName], $randColor[$rColor], $randCatBreed[$rBreed], rand(1 ,15));
$cat->catSay();
$cat->say();
echo"<br>";
}
for ($i = 0; $i <= 50; $i++) {
$rName = mt_rand(0, count($randName) - 1);
$rColor = mt_rand(0, count($randColor) - 1);
$rBreed = mt_rand(0, count($randDogBreed) - 1);
$dog = new Dog($randName[$rName], $randColor[$rColor], $randDogBreed[$rBreed], rand(1 ,15));
$dog->dogSay();
$dog->say();
echo"<br>";
}
?>