НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
1271 of 1310 menu

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

В Kotlin для реализации интерфейсов используется двоеточие : после имени класса, за которым следует имя интерфейса. В отличие от некоторых других языков программирования, Kotlin не использует ключевое слово implements явно. Класс может реализовывать несколько интерфейсов, перечисляя их через запятую.

Синтаксис

class ClassName : InterfaceName { // реализация методов интерфейса }
class ClassName : Interface1, Interface2 { // реализация методов интерфейсов }

Пример

Создадим интерфейс Drawable с методом draw и реализуем его в классе Circle:

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

Использование реализации:

val circle = Circle() circle.draw()

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

String "Drawing a circle"

Пример

Реализация нескольких интерфейсов в одном классе:

interface Clickable { fun click() } interface Draggable { fun drag() } class UIElement : Clickable, Draggable { override fun click() { println("Element clicked") } override fun drag() { println("Element dragged") } }

Использование реализации:

val element = UIElement() element.click() element.drag()

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

String "Element clicked" String "Element dragged"

Пример

Реализация интерфейса с свойствами и методами с реализацией по умолчанию:

interface Vehicle { val maxSpeed: Double fun drive() { println("Driving at max speed $maxSpeed") } } class Car(override val maxSpeed: Double) : Vehicle { override fun drive() { super.drive() println("Car is driving") } }

Использование реализации:

val car = Car(200.0) car.drive()

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

String "Driving at max speed 200.0" String "Car is driving"

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

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