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

Класс и интерфейс в Kotlin

Класс может расширять один open класс и при этом реализовать один или несколько интерфейсов. Сначала указывают базовый класс, затем интерфейсы через запятую.

interface Programmer { fun getLangs(): List<String> fun addLang(lang: String) } open class Employee( private var name: String, private var salary: Int ) { fun getName(): String = name fun getSalary(): Int = salary }

Часть методов контракта уже есть в Employee. Новый класс берет их через наследование и дописывает только то, чего не хватает для интерфейса.

class Developer( name: String, salary: Int, private val langs: MutableList<String> = mutableListOf() ) : Employee(name, salary), Programmer { override fun getLangs(): List<String> = langs override fun addLang(lang: String) { langs.add(lang) } }

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

class Team { private val members = mutableListOf<Programmer>() fun add(member: Programmer) { members.add(member) } }

Сделайте интерфейс Storable, в котором будет метод save.

Сделайте open class Entity. Пусть у класса будет свойство title типа String.

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

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