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

Введение в интерфейсы в Kotlin

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

Абстрактный класс тоже может требовать реализации методов у потомков, но обычно хранит общее состояние и готовый код. Интерфейс описывает только поведение снаружи: «умеет рисоваться», «умеет считать площадь», «умеет сохраняться на диск».

В Kotlin интерфейс объявляют словом interface вместо class. Экземпляр интерфейса создать нельзя - нужен класс, который реализует все обязательные члены контракта.

interface Drawable { fun draw() }

Класс подключает интерфейс после двоеточия и помечает реализацию словом override. Термин «реализует» здесь уместнее, чем «наследует»: интерфейс не хранит данные сам по себе, а навешивает на тип набор обязанностей.

class Circle : Drawable { override fun draw() { println("circle") } }

Один класс может реализовать несколько интерфейсов, а сами интерфейсы могут наследовать друг друга. Так собирают гибкие иерархии без лишних родительских классов.

Дальше раздел пройдет по шагам: объявление методов и свойств, реализация по умолчанию, несколько интерфейсов у одного класса, наследование контрактов и проверка типа оператором is.

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