2
В Scala вы можете написать такой код.Kotlin VS Scala: реализовать методы с параметрами первичного конструктора
trait List[T] {
def isEmpty() :Boolean
def head() : T
def tail() : List[T]
}
class Cons[T](val head: T, val tail: List[T]) :List[T] {
def isEmpty = false
}
вам не нужно переопределить хвост и голову, они уже определены, но в Котлин я должен был закодировать это.
interface List<T> {
fun isEmpty() :Boolean
fun head() : T
fun tail() : List<T>
}
class Cons<T>(val head: T, val tail: List<T>) :List<T> {
override fun isEmpty() = false
override fun head() = head
override fun tail() = tail
}
Мой вопрос "является их лучший способ, чтобы написать свой код Котлин?"