Посмотрите насколько хорош/плох код к уроку 67 php?

0

Написал код для 67 задания, он работает, но хотел бы узнать мнение что лишнее в коде и как улучшить?

<?php
//Наследование

/* Родительский класс */
    class Animal
    {

        private $name;
        private $color;
        private $breed;
        private $age;

        /* Конструктор (в нем мы задаем поле $name и др при создании экземпляра класса) */
        public function __construct($name, $color, $breed, $age)
        {
            $this->name = $name;
            $this->color = $color;
            $this->breed = $breed;
            $this->age = $age;
        }
        /* Метод say(). Предполагаем, что Animal имеет определенные черты */
        public function chars()
        {
           echo "Меня зовут ".$this->name . " у меня " . $this->color . " шерсть, моя порода " .$this->breed . " и мне " .$this->age . " лет" ;
        }

    }
/* Класс Dog. Ключевым словом extends мы наследуем родителя Animal */
    class Dog extends Animal
    {
        public function dogSound()
        {
            echo ". ГАВ!! ГАВ!! ГАВ!!";
        }

    }

    class Cat extends Animal
    {
        public function catSound()
        {
           echo ". МЯУ!! МЯУ!! МЯУ!!";
        }
    }
    //Генерим случайное имя и породу
    function randomName($length = 4) {
    static $randStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $rand = '';
    for($i=0; $i<$length; $i++) {
        $key = rand(0, strlen($randStr)-1);
        $rand .= $randStr[$key];
    }
    return $rand;
    }
    //Генерим случайный возраст 
    function randomAge($length = 2) {
    static $randStr = '0123456789';
    $rand = '';
    for($i=0; $i<$length; $i++) {
        $key = rand(0, strlen($randStr)-1);
        $rand .= $randStr[$key];
    }
    return $rand;
    }
//Генерим случайный цвет и породу
    function randomBreed($length = 8) {
    static $randStr = 'abcdefghijklmnopqrstuvwxyz';
    $rand = '';
    for($i=0; $i<$length; $i++) {
        $key = rand(0, strlen($randStr)-1);
        $rand .= $randStr[$key];
    }
    return $rand;
    }

    $i = 1;


while ($i <= 50):

/* Создаем экземпляр класса Dog и вызываем методы. */
    $dog = new Dog (randomName(), randomBreed(), randomBreed(), randomAge());
    $dog->chars();
    $dog->dogSound();

    echo "<br>";

    $cat = new Cat (randomName(), randomBreed(), randomBreed(), randomAge());
    $cat->chars();
    $cat->catSound();

    echo "<br>";
    $i++;

endwhile;

php

0 ответов

Sign up or Log in to write an answer