Size: a a a

Kotlin Community

2020 December 19

с#

саша сок #KotlinGang... in Kotlin Community
хотя наверное проще сделать background(color: Color) & background(image: Image) в данном случае
источник

IL

Igor L🐟 in Kotlin Community
ребят, а есть какой либо красивый способ в Kotlin, поля двух классов соединить в один через композицию (как в Го)?
(а не через наследование)
источник

AM

Andrew Mikhaylov in Kotlin Community
Igor L🐟
ребят, а есть какой либо красивый способ в Kotlin, поля двух классов соединить в один через композицию (как в Го)?
(а не через наследование)
Если у вас на каждый класс, который надо включить, будет объявлено по интерфейсу, то можно вот так вот с помощью делегации делать:
источник

AM

Andrew Mikhaylov in Kotlin Community
источник

AM

Andrew Mikhaylov in Kotlin Community
Других путей, я думаю, нет, в котлине всё же номинативный сабтайпинг, и безымянных свойств, как в голанге, нет.
источник

с#

саша сок #KotlinGang... in Kotlin Community
хотел так предложить, но тут ток публичные поля можно так делать
источник

с#

саша сок #KotlinGang... in Kotlin Community
ну хотя интернал тоже можно
источник

IL

Igor L🐟 in Kotlin Community
вов, элегантно! спасибо
источник

AM

Andrew Mikhaylov in Kotlin Community
Igor L🐟
вов, элегантно! спасибо
Нууууу изредка бывает полезно, но прям называть это элегантным и лепить без сильной нужды я б не стал.
Но дело ваше, конечно :)
источник

IL

Igor L🐟 in Kotlin Community
есть чуток излишества, но главное что при необходимости есть решение
источник

с#

саша сок #KotlinGang... in Kotlin Community
Andrew Mikhaylov
Нууууу изредка бывает полезно, но прям называть это элегантным и лепить без сильной нужды я б не стал.
Но дело ваше, конечно :)
хотелось бы protected например, но в целом норм
источник

IL

Igor L🐟 in Kotlin Community
просто если необходимо 3+ класс вместе скомпоновать, то с наследованием все печальненько
источник

VP

Vladimir Petrakovich in Kotlin Community
Так это, композиция же. Или хочется чтобы все внутренности на верхнем уровне лежали?
источник

AM

Andrew Mikhaylov in Kotlin Community
Igor L🐟
просто если необходимо 3+ класс вместе скомпоновать, то с наследованием все печальненько
Я б так сказал -- если вам надо скомпоновать поведение двух классов и получить третий, который умеет отвечать за поведение и первого, и второго, вы вот прям сразу с порога пытаетесь нарушить SRP. Оправдано это в вашем случае или нет -- вам виднее :)
источник

IL

Igor L🐟 in Kotlin Community
Vladimir Petrakovich
Так это, композиция же. Или хочется чтобы все внутренности на верхнем уровне лежали?
все внутренности (поля) на верху были
источник

IL

Igor L🐟 in Kotlin Community
Andrew Mikhaylov
Я б так сказал -- если вам надо скомпоновать поведение двух классов и получить третий, который умеет отвечать за поведение и первого, и второго, вы вот прям сразу с порога пытаетесь нарушить SRP. Оправдано это в вашем случае или нет -- вам виднее :)
для data class это вполне оправдано, который нужен только лишь для мапинга БД
источник
2020 December 20

J

Jerry in Kotlin Community
...
источник

AP

Anton Pankratov in Kotlin Community
Всем привет.
Существует ли возможность написания своих ключевых слов в Kotlin?
У меня есть много шаблонных функций и хотелось бы это использовать во многих местах одним словом.
источник

SB

Sergey Barmin in Kotlin Community
Вроде infix fun, но это немного не то, не совсем ключевые слова
источник

AN

Alexander Nozik in Kotlin Community
Anton Pankratov
Всем привет.
Существует ли возможность написания своих ключевых слов в Kotlin?
У меня есть много шаблонных функций и хотелось бы это использовать во многих местах одним словом.
Что подразумевается под ключевыми словами? Прямо свои ключевые слова нельзя, но как верно заметил @haufau, вам скорее всего они и не нужны
источник