РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1246 of 1310 menu

Ключевое слово abstract

Ключевое слово abstract применяется для объявления абстрактных классов и методов. Абстрактный класс не может быть инстанциирован напрямую и служит базой для других классов. Абстрактные методы не имеют реализации и должны быть переопределены в классах-наследниках.

Синтаксис

abstract class ClassName { abstract fun methodName(): ReturnType }
abstract fun methodName(): ReturnType

Пример

Создадим абстрактный класс Animal с абстрактным методом makeSound:

abstract class Animal { abstract fun makeSound(): String }

Пример

Создадим класс Dog, наследующий Animal, и реализуем абстрактный метод:

class Dog : Animal() { override fun makeSound(): String { return "Woof!" } }

Пример

Создадим класс Cat, наследующий Animal, и реализуем абстрактный метод:

class Cat : Animal() { override fun makeSound(): String { return "Meow!" } }

Пример

Продемонстрируем использование созданных классов:

val dog = Dog() val cat = Cat() println(dog.makeSound()) println(cat.makeSound())

Результат выполнения кода:

String "Woof!" String "Meow!"

Пример

Абстрактный класс может содержать как абстрактные, так и обычные методы с реализацией:

abstract class Vehicle { abstract fun startEngine(): String fun stopEngine(): String { return "Engine stopped" } } class Car : Vehicle() { override fun startEngine(): String { return "Car engine started" } }

Пример

Абстрактные классы могут иметь абстрактные свойства:

abstract class Shape { abstract val area: Double } class Circle(val radius: Double) : Shape() { override val area: Double get() = Math.PI * radius * radius }

Смотрите также

  • ключевое слово class,
    для создания обычных классов
  • ключевое слово interface,
    для создания интерфейсов
  • ключевое слово open,
    для разрешения наследования от классов
  • ключевое слово override,
    для переопределения методов и свойств
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить