169 похожих чатов

Решаю задачки из Kotlin Koans, тут везде в задачах дата

классы, функционал которых реализован с помощью функций-расширений в других файлах.
забегая немного вперед хочу спросить, так действительно делается в продакшн коде на котлин или это просто здесь такое упрощение ради задачек?
т.е. что я имею ввиду
есть класс к примеру 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?

2 ответов

4 просмотра

Всегда. Дата классы должны содержать только данные, методов с какой либо логикой в них быть не должно.

https://medium.com/@elizarov/extension-oriented-design-13f4f27deaee

Похожие вопросы

Обсуждают сегодня

А случайно нет ли в паскале штатной возможности передать указатель и количество туда где array of в качестве аргумента?
zamtmn
25
Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
58
Ну раз я пока тут, задам пару глупых вопросов. Зачем писать на ассемблере если компилятор довольно умный, а ассемблер много времени занимает? В каких прикладных задачах сейчас...
Максим Рябцев
19
Я тут за тем, чтобы задать вопрос, так как не знаю ассемблер, учу с/с++. Короче, насколько дорога операция перехода в функцию при ее вызове? Дело в том, что в с++ есть макросы...
Максим Рябцев
12
А какие чаты вообще в ходу? Auto aim? И что еше
do you think you're better off alone? А
13
Привет, нужен совет старших товарищей. Есть глобальная переменная var DefaultDataFolder:string; инициализируем DefaultDataFolder:='a:\_OUT\'; есть примитивная процедур...
Max Otto
14
hello friends. Do you know how can I learn getx? I have a software project that I should deliver it up to 5 weeks later and I need to learn firebase too. I will be thankfull
AmirHossein Razavi
15
Доброе время суток! у меня тут иноды закончились. и понял почему по сути кстит, я периодически очищаю постгрес и сентри контайнер: postgres=# DELETE FROM nodestore_node WHER...
Юсиф Насиров
9
Вопрос. Теоретический. Есть список команд. Команды отправляю в обработку некой функции, по очереди. Разные команды могут давать разные результаты после обработки. В зависимос...
Serjone
7
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Карта сайта