Перейти к содержимому
Задача · Классы и прототипы · урок 12 из 12

Задача: фигуры

В заготовке уже написан класс Shape и начаты два его дочерних класса: Rect с шириной width и высотой height и Circle с радиусом radius. Допишите в классах Rect и Circle конструкторы и методы area(), которые возвращают площадь фигуры; у круга это Math.PI * radius * radius. Напишите функцию function totalArea(shapes), которая возвращает сумму площадей всех фигур массива. Тесты создают фигуры через new, например new Rect(2, 3).

  • new Rect(2, 3).area() → 6
  • new Circle(1).area() → 3.141592653589793
  • totalArea([new Rect(1, 1), new Rect(2, 5)]) → 11

Ограничения: размеры — положительные числа; дробный результат сравнивается с ожидаемым с точностью до 0.000000001; в массиве могут быть прямоугольники и круги вперемешку, а для пустого массива totalArea возвращает 0.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

shapes.js — javascript
javascript · строк: 26
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом