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

Методы интерфейса в Kotlin

Метод в интерфейсе задает имя, параметры и тип результата. Если тела нет, метод считается абстрактным: реализацию пишут в классе. Сигнатура в классе должна совпадать с интерфейсом, включая типы параметров.

interface MathOps { fun sum(a: Int, b: Int): Int fun subtract(a: Int, b: Int): Int }

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

class SimpleMath : MathOps { override fun sum(a: Int, b: Int): Int { return a + b } override fun subtract(a: Int, b: Int): Int { return a - b } }

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

interface Logger { fun log(message: String, level: Int = 0) } class FileLogger : Logger { override fun log(message: String, level: Int) { println("[$level] $message") } }

Сделайте интерфейс Converter, в котором будут методы toUpper и toLower. Пусть оба метода принимают параметр типа String и возвращают String.

Сделайте класс TextConverter, который будет реализовывать интерфейс Converter.

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