smidl
@smidl
WordPress-разработчик

В чем загвоздка данного вопроса и как «идеально» решается такое?

В задании нужнор написать класс Cat, который наследуется от класcа Animal. Класс Animal имеет метод getName (name можно передать в конструктор).

Класс Cat имеет метод meow (возвращает строку «Cat {catname} is sayig meow».

Пример использования:
$cat = new Cat ('garfield');
$cat->getName () === 'garfield' // true;
$cat->meow () === 'Cat garfield is saying meow' // true;


Вот моя реализиция... Что не так с ней? Почему проверяющий "завернул" ее?

<?php
abstract class Animal {
	public $name;
	public function __construct($cat_name) {
		$this->name = $cat_name;
	}
}

class Cat extends Animal {
	public function meow() {
		echo "<br>Cat {$this->name} is saying meow ";
	}
	public function getName() {
		return $this->name;
	}
}

$cat = new Cat('garfield');
echo $cat->getName();
$cat->meow();
  • Вопрос задан
  • 224 просмотра
Решения вопроса 3
Fragster
@Fragster
помогло? отметь решением!
Не совпадение с заданием в пункте
Класс Animal имеет метод getName

Также метод meow() должен возвращать строку, а не выводить ее. Ну и <br> там быть не должно
Ответ написан
@nozzy
Symfony, Laravel, SQL
Имеется getter:
public function getName() {
    return $this->name;
  }

Я бы сделал $name => protected, вместо public.
Ответ написан
Комментировать
@Firik67
Middle PHP Developer
Потому что " Класс Animal имеет метод getName"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
Никакой загвоздки нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы