Code Lab

Животное, собака и глаз

СложнаяКлассы15 мин

Напиши три класса Eye, Animal и Dog. Собака является животным (наследование), у животного есть глаза (композиция).

  • new Eye(color) хранит цвет в поле color. Метод blink() возвращает 'blink'.
  • new Animal(name, eyeColor) хранит name и массив eyes из двух новых объектов Eye цвета eyeColor. Метод speak() возвращает '<name> makes a sound', а describe() возвращает '<name> has 2 <color> eyes'.
  • new Dog(name, eyeColor, breed) создаёт подкласс Animal с ещё одним полем breed. Dog переопределяет speak(), и тот возвращает '<name> barks'.

Примеры

new Dog('Rex', 'brown', 'Beagle').speak()

Вернёт 'Rex barks'

new Dog('Rex', 'brown', 'Beagle').describe()

Вернёт 'Rex has 2 brown eyes'

new Animal('Cat', 'green').eyes.length

Вернёт 2

Спрашивали в Reltio · Источник

Загружаем редактор...
  1. Eye хранит цвет и моргает
  2. У Animal есть имя, два глаза, speak() и describe()
  3. Dog является Animal, у него есть порода, и он лает

Скрытые тесты запускаются по Submit.