Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktOpIfPrm 60 of 123 menu
◀ ▶

Практика на интерфейсы в Kotlin

Интерфейс Figure задает две операции для плоских фигур: площадь и периметр. Классы с разной геометрией реализуют один и тот же контракт по-своему.

interface Figure { fun area(): Double fun perimeter(): Double }

Квадрат хранит длину стороны и считает площадь и периметр по формулам:

class Square(private val side: Double) : Figure { override fun area(): Double = side * side override fun perimeter(): Double = 4 * side }

Прямоугольник использует две стороны:

class Rectangle( private val width: Double, private val height: Double ) : Figure { override fun area(): Double = width * height override fun perimeter(): Double = 2 * (width + height) }

Если метод интерфейса не реализовать, проект не соберется. Компилятор сразу укажет, какой член контракта пропущен.

Сделайте класс Disk, реализующий интерфейс Figure.

Создайте несколько объектов класса Square, несколько объектов класса Rectangle и несколько объектов класса Disk. Запишите их в один список как Figure в случайном порядке.

Переберите циклом этот список и выведите на экран площадь каждой фигуры.

Не подсматривая в мой код реализуйте такой же класс FigureCollection. Пусть у него будет метод add для добавления фигуры типа Figure и метод totalArea для нахождения суммарной площади всех фигур.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить