Size: a a a

Kotlin Community

2019 December 13

N

Newbie Developer in Kotlin Community
Я конечно могу напрямую заимплеменить этот интерфейс, тогда тип в угловых скобках никак не будет использоваться, кроме как маркер
источник

IS

Ignat Simonenko in Kotlin Community
Newbie Developer
Я же Т помечаю как интерфейс...
Он разве не может это проверить?
источник

N

Newbie Developer in Kotlin Community
Ну у вас в примере тоже компилятор ругается же))
источник

IS

Ignat Simonenko in Kotlin Community
Newbie Developer
Ну у вас в примере тоже компилятор ругается же))
от чего должен будет унаследоваться TestClass, если ему дженериком передали ClosedClass? компилятор на этот синтаксис не ругается, то есть кейс валидный
источник

N

Newbie Developer in Kotlin Community
Ignat Simonenko
от чего должен будет унаследоваться TestClass, если ему дженериком передали ClosedClass? компилятор на этот синтаксис не ругается, то есть кейс валидный
Стоп, секундочку
Он должен реализовать метод, который явно указан в интерфейсе..
источник

IS

Ignat Simonenko in Kotlin Community
Newbie Developer
Стоп, секундочку
Он должен реализовать метод, который явно указан в интерфейсе..
его же ClosedClass реализует)
источник

IS

Ignat Simonenko in Kotlin Community
нужно просто унаследовать инерфейс. не понятно, зачем вам в этом кейсе дженерик
источник

IS

Ignat Simonenko in Kotlin Community
вы указываете не точный тип дженерика, а его upper bound
источник

N

Newbie Developer in Kotlin Community
Ignat Simonenko
нужно просто унаследовать инерфейс. не понятно, зачем вам в этом кейсе дженерик
Ну вот смотрите

У меня несколько классов, которую реадизуют этот интерфейс

Я хотел бы вынести эту реализауию в базовый клас

Базовый класс реализует этот интерфейс

Есть 2 наследника, у них есть общий метод, который из интерыейса берется (он то в базовый и уходит), а другие реализуются у каждого свой)
У этих двух наследников разные интерфейсы, которые наследуются от одного, в котором как раз есть этот общий метод
источник

SB

Sergey Barmin in Kotlin Community
в этом случае не может указываться динамическое наследование, как вы это себе представляете?
источник

SB

Sergey Barmin in Kotlin Community
это же объявление класса, оно происходит один раз и вполне себе детерминированно
источник

N

Newbie Developer in Kotlin Community
Тип абстрактного класса с этим интерфейсом как бы помечает этот класс, что его могут наследовать только те классы, которые реализуют необходимый интерфейс
источник

SB

Sergey Barmin in Kotlin Community
вы указываете один абстрактный класс, не несколько, и дженерик у вас в том месте где вы указываете от чего он наследуется
источник

N

Newbie Developer in Kotlin Community
Sergey Barmin
вы указываете один абстрактный класс, не несколько, и дженерик у вас в том месте где вы указываете от чего он наследуется
Да, я понимаю что он воспринимает как наследование

Жаль нельзя поменять что это имплементация интерфейса (как в джаве), а не наследование
источник

SB

Sergey Barmin in Kotlin Community
дженерик там где возможны вариативности, в вашем случае вариативности нет
источник

SB

Sergey Barmin in Kotlin Community
Newbie Developer
Да, я понимаю что он воспринимает как наследование

Жаль нельзя поменять что это имплементация интерфейса (как в джаве), а не наследование
покажите семпл джава кода который так будет работать
источник

KG

Kirill Gamazkov in Kotlin Community
Ignat Simonenko
настройки ж можно конвернуть в editorconfig, там правда много IDE-specific штук будет
А вот это прикольно, спасибо!
источник

LS

Lev Shagalov in Kotlin Community
У котлина есть nested sealed или типа того?
источник

QH

Quantum Harmonizer in Kotlin Community
Lev Shagalov
У котлина есть nested sealed или типа того?
да
источник

QH

Quantum Harmonizer in Kotlin Community
Lev Shagalov
У котлина есть nested sealed или типа того?
источник