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

Несколько интерфейсов в Kotlin

Класс в Kotlin может иметь только одного родителя-класса, но любое количество интерфейсов. Имена перечисляют через запятую после двоеточия.

interface Drawable { fun draw() } interface Movable { fun move() } class Sprite : Drawable, Movable { override fun draw() { println("draw") } override fun move() { println("move") } }

Каждый интерфейс добавляет свой набор обязательных членов. Класс должен реализовать их все, иначе объявление останется неполным.

Если два интерфейса объявляют метод с одинаковой сигнатурой, в классе достаточно одного override. Когда сигнатуры совпадают, но нужны разные реализации из родительских интерфейсов, вызывают их через super с указанием типа.

interface A { fun report() = println("A") } interface B { fun report() = println("B") } class Both : A, B { override fun report() { super<A>.report() super<B>.report() } }

Сделайте интерфейс Readable с методом read и интерфейс Writable с методом write.

Сделайте класс Document, который будет реализовывать оба интерфейса: и Readable, и Writable.

Сделайте интерфейс Figure с методами area и perimeter.

Сделайте интерфейс Quadrilateral с геттерами четырех сторон.

Сделайте класс Square, который также будет реализовывать два интерфейса: и Figure, и Quadrilateral.

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