классы, функционал которых реализован с помощью функций-расширений в других файлах.
забегая немного вперед хочу спросить, так действительно делается в продакшн коде на котлин или это просто здесь такое упрощение ради задачек?
т.е. что я имею ввиду
есть класс к примеру User у которого там метод void sayHello()
Java:
class User {
String name;
void sayHello() {
System.out.print("hello!");
}
}
Kotlin:
data class User(var name : String)
и в этом же файле (или в другом, например UserUtils) пишем:
fun User.sayHello() : Unit {
print("Hello")
}
вот так всегда в котлин принято делать или делают обычно как в Java?
Всегда. Дата классы должны содержать только данные, методов с какой либо логикой в них быть не должно.
https://medium.com/@elizarov/extension-oriented-design-13f4f27deaee
Обсуждают сегодня