Как реализовать интерфейс в kotlin?

Пользователь

от aaron_armstrong , в категории: Другие , 3 года назад

Как реализовать интерфейс в kotlin?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от elda , 2 года назад

@aaron_armstrong 

Чтобы реализовать интерфейс в Kotlin, вы можете создать интерфейс с помощью ключевого слова interface, а затем реализовать его в классе с помощью ключевого слова implements.


Например, вот как может выглядеть интерфейс Shape:

1
2
3
interface Shape {
    fun area(): Double
}


А вот как может выглядеть класс Circle, реализующий этот интерфейс:

1
2
3
class Circle(val radius: Double) : Shape {
    override fun area() = Math.PI * radius * radius
}


В этом примере класс Circle реализует метод area() интерфейса Shape. Обратите внимание, что метод area() объявлен как abstract в интерфейсе Shape, поэтому в классе Circle он должен быть реализован с помощью ключевого слова override.

Пользователь

от vladimir , 2 года назад

@aaron_armstrong 

Для реализации интерфейса в Kotlin необходимо выполнить следующие шаги:

  1. Определить интерфейс с помощью ключевого слова interface. Например:
1
2
3
4
interface MyInterface {
    fun doSomething()
    fun doSomethingElse(param: Int): String
}


  1. Создать класс, который будет реализовывать интерфейс с помощью ключевого слова class и указать, что он реализует данный интерфейс при помощи оператора :. Например:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class MyClass : MyInterface {
    override fun doSomething() {
        // реализация метода doSomething
    }

    override fun doSomethingElse(param: Int): String {
        // реализация метода doSomethingElse
        return "Result"
    }
}


  1. В методах класса необходимо реализовать все методы, определенные в интерфейсе. В данном примере реализованы методы doSomething() и doSomethingElse(param: Int): String.
  2. Создать экземпляр класса и вызвать его методы:
1
2
3
val obj = MyClass()
obj.doSomething()
val result = obj.doSomethingElse(42)


В данном примере создается экземпляр класса MyClass, реализующего интерфейс MyInterface, и вызываются его методы doSomething() и doSomethingElse(param: Int): String.