Size: a a a

2021 June 22

а

андрей in Kotlin Start
Спасибо, буду пробовать и надеяться что пройдет все гладко
источник

FG

Fuad Garayev in Kotlin Start
всем привет,мне нужно создать общий класс который будет иметь функцию с логикой,и в дальнейшем надо чтоб другие классы наследовались от него,выполняли эту общую функцию.Для этого используются Абстракные классы?
источник

FG

Fuad Garayev in Kotlin Start
к примеру
class Person {
   fun start(lol: String): String{
       // что то происходит
       return lol
   }
}
источник

В

Виктор in Kotlin Start
Верно. abstract class или open class. Про их разницу можно загуглить.
источник

FG

Fuad Garayev in Kotlin Start
спасибо
источник

Na

Neon an Děv 8) in Kotlin Start
Абстрактные классы используются для того что-бы частично выразить логику (т.е к примеру методя/переменные может быть не инициализированы вовсе).

Опен классы же, в свою очередь, просто дают возможность наследоватся от уже полностью выраженной логики.
источник

FG

Fuad Garayev in Kotlin Start
крутяк,и гуглить не надо,все ясно)благодарю
источник

FG

Fuad Garayev in Kotlin Start
и еще один вопрос плиз.у меня в абстрактном классе имеется класс который я должен закрыть методом destroy() когда он уже не нужен.
но я хочу так же воспользоваться этим полем абст. класса в другом классе который будет наследоваться от него.Можно ли воспользоваться в классе наследника этим полем и закрыть в конце его.или мне следует закрыть это поле в функции абстр. класса и у наследника создать своё собственное поле?
источник

Na

Neon an Děv 8) in Kotlin Start
super.destroy() ?
источник

Na

Neon an Děv 8) in Kotlin Start
если вам нужно вызвать логику наследованного класса просто пишем super.method()
источник

Na

Neon an Děv 8) in Kotlin Start
если мы его переопределяем
источник

Na

Neon an Děv 8) in Kotlin Start
если же не переопределяем, то вызываем просто destroy()
источник

Na

Neon an Děv 8) in Kotlin Start
на то наследование и наследование, что вы можете воспользоваться методами наследованного класса
источник

FG

Fuad Garayev in Kotlin Start
super ключ. слово обязатеьлно?я вроде могу вызывать функции и поля без этого слова
источник

Na

Neon an Děv 8) in Kotlin Start
хм, как же так объяснить.
Смотрите к примеру у нас есть вот такая штука:
open class Foo {
     open fun bar() = println("foo::bar")
}

и мы где-то наследуемся от этого класса:
class FooBar : Foo() {
     // переопределяем метод, т.е добавляем что-то нужное нам
     override fun bar() {

     }
}

И что-бы в таком случае (когда переопределяем метод bar) вызвать родительский bar() нам нужно указать, что нам нужен именно суперкласс (родитель) кейвордом super, т.е так:
override fun bar() {
   super.bar()
   println("FooBar::bar")
}

Если же вы не наследуетесь и не переопределяете метод, то super и не нужен. Просто вызываем foo()

В общем почитайте вот это
источник

FG

Fuad Garayev in Kotlin Start
большое спасибо,сенсей
источник

AL

Alexander Levin in Kotlin Start
Расшифровывается как intermediate representation, кратко об этом тут: https://kotlinlang.org/docs/whatsnew14.html#new-jvm-ir-backend

Примечание - если у вас версия Котлина 1.5, то уже не нужно, там IR теперь по-умолчанию: https://kotlinlang.org/docs/whatsnew15.html#stable-jvm-ir-backend
источник

BP

Bogdan Panchenko in Kotlin Start
Где-то был доклад, даже пару про интероп
источник

BP

Bogdan Panchenko in Kotlin Start
Но я не уверен что именно эту редакцию смотрел

https://youtu.be/iA8qXDJIrhs
YouTube
Маргарита Недзельская — Страх и ненависть в Scala и Kotlin interop
Ближайшая конференция:
JPoint 2021 — 13-16 апреля, онлайн.
Подробности и билеты: https://bit.ly/3ra1zME

. Задумывались ли вы когда-нибудь о том, чтобы уйти от нашей «старой доброй Java» к чему-нибудь более современному, удобному, менее многословному и элегантному? Или вам все же нравится иметь дело с такими раздражающими геттерами и сеттерами, явным приведением типов, скудными switch, недолямбдами, checked exceptions, NPE? Кто-то из Java-разработчиков решил, что хватит это терпеть! Так стали появляться другие языки программирования для JVM. Одним из самых популярных и интересных языков стала Scala. С одной стороны, это было глотком свежего воздуха для вечно страдающих Java-разработчиков, с другой стороны, это оказалось слишком сложно для большинства из них... Затем появился Kotlin! Популярность этого языка постоянно растет. И, наконец, некоторые компании, фанатеющие от Scala, начали инвестировать в него своё время.

В этом выступлении мы не будем сравнивать этих двух жителей JVM. Мы попытаемся понять, как они…
источник

FG

Fuad Garayev in Kotlin Start
Всем привет,может кто нибудь обьяснить в чем разница между вызовом абстрактного поля или функции с ключ.словом super и без?
дело в том что результат у меня один и тот же.с super или без него.
К примеру в саспенд функцию абстрактного класса я добавлю делай 1 сек.с супером или без у меня сработает одинакого
источник