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

Абстрактный класс в Kotlin

Абстрактный класс объявляют словами abstract class и именем типа. Внутри допустимы обычные свойства и методы с телом - как в любом классе:

abstract class User { private var name: String = "" fun getName(): String { return name } fun setName(name: String) { this.name = name } }

Попытка создать объект абстрактного класса приводит к ошибке компиляции:

// val user = User()

Конкретный класс наследует абстрактный без слова open у родителя - для abstract class наследование разрешено по умолчанию. У потомка можно добавить свои поля и методы:

class Employee : User() { private var salary: Int = 0 fun getSalary(): Int { return salary } fun setSalary(salary: Int) { this.salary = salary } }

Объект потомка создаётся обычным вызовом конструктора. Методы родителя доступны у объекта наследника:

fun main() { val employee = Employee() employee.setName("john") employee.setSalary(1000) println(employee.getName()) println(employee.getSalary()) }

Сделайте абстрактный класс Figure, представляющий собой геометрическую фигуру. Пусть от него наследует классы Circle, Rectangle и Square.

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