Учим Kotlin с нуля | №15 Абстрактные классы и интерфейсы.

Поділитися
Вставка
  • Опубліковано 12 вер 2021
  • Полный видеокурс по языку программирования Kotlin. В пятнадцатом видео познакомимся с абстрактными классами и интерфейсами.
    !!Важно!! Повторяйте руками весь код, который вы видите на видео. Просто просмотреть недостаточно. Если возникают вопросы/ошибки пишите в комментах. Будем разбираться вместе.
    Язык программирования Kotlin используют для создания бэкенда веб-приложений и приложений для Android. Язык похож на Java, но проще по синтаксису. Молодой и востребованный на рынке язык программирования.
    #kotlin​​​​​ #уроки​​​​​ #программирование
  • Наука та технологія

КОМЕНТАРІ • 48

  • @fon9894
    @fon9894 2 роки тому +21

    Неоправданно мало подписчиков, с учетом хорошей подачи, приятного голоса и понятных разъяснений. Удачи каналу, он не должен пропадать)

  • @musicmacervs
    @musicmacervs Рік тому

    Даже и не знаю, как так можно доходчиво все объяснять. Perfect!!

  • @vvaddi60
    @vvaddi60 2 роки тому +17

    Молодец. Спасибо, всё понятно. После бездарной подачи в школе скилбокс приходится смотреть твои видео чтобы что-то понимать. Снимай ещё, буду с удовольствием тебя смотреть. Будет круто если ещё расскажешь гетеры, сетеры, компаньоны, а затем ещё что-то сложнее списки, корутины и так далее по восходящей

    • @SyntaxSugarDaddy
      @SyntaxSugarDaddy  2 роки тому +3

      Спасибо. Так и будет)

    • @vvaddi60
      @vvaddi60 2 роки тому +3

      @@SyntaxSugarDaddy И хочется почаще 👍😉. Раз в месяц это очень редко.

  • @wildnatureW
    @wildnatureW 28 днів тому

    боже храни автора

  • @spirit9745
    @spirit9745 2 роки тому +3

    Все супер доходчиво объяснено) желаю развития каналу!

  • @vladimirkorotkov4809
    @vladimirkorotkov4809 2 роки тому +3

    В этом уроке ещё можно было упомянуть о вызове наследуемых функций с одинаковыми названиями... например есть два интерфейса А и В с одинаковыми именами функций: class X: A, B; super.myFunction; super.myFunction

  • @user-ev5jh4sh8p
    @user-ev5jh4sh8p 2 роки тому +2

    Очень приятно слушать. всё понятно! Очень жду следующих видео про Extension

  • @UkrainskayaM
    @UkrainskayaM Рік тому

    Смотрела несколько уроков про интерфейсы. И все равно оставались вопросы. Ваше видео ответило на все мои вопросы и дополнило недостающую информацию. Спасибо!

  • @youandpsycho625
    @youandpsycho625 Рік тому

    супер объяснение, спасибо!

  • @gregauman96
    @gregauman96 Рік тому

    👏👍

  • @MrBadaboo73
    @MrBadaboo73 Рік тому +1

    Спасибо большое, классно объясняете. Я бы для понимания разницы между классом и интерфейсом добавил следующее - интерфейс может добавлять функции другим классам, тем самым как бы объединяя их каким то свойством. При этом эти классы могут быть в разных иерархиях. Если на конкретном примере, то у нас могут быть две иерархии классов - животное (от него наследуются кошка, собака, кит и слон) и транспорт (от него наследуются машина, велосипед, танкер и самолёт). Эти две иерархии совершенно разные, но их может объединять интерфейс movable, потому что и слон и самолёт могут двигаться.

  • @margo_anisimova
    @margo_anisimova 2 роки тому

    Понятно преподносите информацию для совсем "зеленых", спасибо! Перед тем,как приступить к д/з, смотрю Ваше объяснение материала, очень помогает! Удачи и развития каналу!

  • @user-ph7wi3cg7t
    @user-ph7wi3cg7t 2 роки тому +1

    Отличные уроки, всё понятно и по делу. Спасибо❤

  • @Tv1stz
    @Tv1stz Рік тому

    Почему я раньше не нашёл этот курс)

  • @azatkhachatryan8127
    @azatkhachatryan8127 Рік тому

    Канал супер , описал все очень понятно и наглядно. Спасибо

  • @user-hj1gp3dp4i
    @user-hj1gp3dp4i 2 роки тому +1

    Очень грамотно и по делу, спасибо!!!!

  • @alexeytushnolob4845
    @alexeytushnolob4845 2 роки тому

    Блин как все таки лектор доступно излагает, хотелось бы новых видео

  • @anonimno
    @anonimno Рік тому

    Наконец-то стала понятна разница :)

  • @antonparfenov8519
    @antonparfenov8519 2 роки тому

    Довольно хорошо все объяснено, молодец. Наконец то я понял нафига эта абстракция и интерфейсы.
    Ждём продолжения.
    Замечание: правильно писать угОль

  • @Dolphinyara1
    @Dolphinyara1 2 роки тому

    В книге запутали неподетски, а тут все по полочкам, оп и понятно. Благодарю!

    • @YouMeNow88
      @YouMeNow88 2 роки тому

      в какой такой книге?)

  • @igorknyazev5452
    @igorknyazev5452 2 роки тому

    Благодарность!Очень доступно и структурированно объяснил.

  • @user-dl2xr5wd7h
    @user-dl2xr5wd7h 2 роки тому

    Лучший, спасибо что продолжаешь!

  • @Ivan-fl9vq
    @Ivan-fl9vq 2 роки тому

    Наконец-то нашел годноту. Саасибо

  • @antonselitskiy8143
    @antonselitskiy8143 Рік тому

    Супер обучение, огромное спасибо за проделанную работу

  • @danila116-52
    @danila116-52 2 роки тому

    Большое спасибо, жду новых уроков!

  • @alexandralban5682
    @alexandralban5682 2 роки тому

    Спасибо ждем следующее видео!

  • @akvadecor
    @akvadecor Рік тому

    Спасибо, очень хорошая подача материала

  • @jigid6138
    @jigid6138 2 роки тому

    Отлично и понятно объяснил, спасибо

  • @ruslanboroda5145
    @ruslanboroda5145 2 роки тому

    Огромная благодарность!

  • @garrinchadossantos6381
    @garrinchadossantos6381 2 роки тому

    красавчик бро, все очень понятно и интересно объясняешь! Желаю тебе удачи, и жду следующий урок ))

  • @azadguliyev3789
    @azadguliyev3789 Рік тому

    Вам огромное спасибо для такого грамотно урока)

  • @user-wf7zt8ht8r
    @user-wf7zt8ht8r 2 роки тому

    Благодарю!

  • @Mercblck
    @Mercblck 2 місяці тому

    Найс

  • @user-wx7gn2nc7n
    @user-wx7gn2nc7n 2 роки тому

    Подскажите пожалуйста с помощью каких клавиш вызывается метод override

    • @user-ms7fb1fv8c
      @user-ms7fb1fv8c 2 роки тому +1

      1. В классе наследнике (в нашем случае Car или Bike) наведи мышь на сигнатуру класса (где подчеркнуто красным) и нажми Alt+Enter. Выпадет несколько вариантов, выбери "implement members". В появившейся вкладке будут методы, которые необходимо переопределить.
      2. Автор это сделал через Alt+Ins, так получается тоже можно.
      3. Тупо переопределить методы - Ctrl+O. В это случае добавляются еще какие-то методы из kotlin.Any. Если я правильно понял, это суперкласс ( базовый, родительский ) для всех классов в Котлин.

    • @user-wx7gn2nc7n
      @user-wx7gn2nc7n 2 роки тому

      @@user-ms7fb1fv8c Спасибо большое

  • @dream_line70
    @dream_line70 Рік тому

    А как вызывать из абстрактного класса fun info() ? И туже самую функцию из других классов

    • @SyntaxSugarDaddy
      @SyntaxSugarDaddy  Рік тому

      Вызывать функции можно у объектов. Для этого нужно создать объект наследника абстрактного класса, и вызвать у него нужную функцию

  • @tim.wonderer
    @tim.wonderer 6 місяців тому

    а как абстрактный класс может принять аргументы если нельзя создать обьект абстрактного класса? 16:40

    • @SyntaxSugarDaddy
      @SyntaxSugarDaddy  6 місяців тому

      Абстрактный класс описывает, что должны иметь все классы-наследники. Указывая аргументы в абстрактном классе ты говоришь, что хочешь чтобы все наследники были обязаны принимать такие аргументы, вот и все

    • @tim.wonderer
      @tim.wonderer 6 місяців тому

      @@SyntaxSugarDaddy теперь понял спасибо🙏

  • @rndofpipowe
    @rndofpipowe Рік тому

    Позволю себе добавить пару слов. Интерфейс в первую очередь - это соглашение о вызовах. Иначе говоря интерфейс определяет, какое поведение *должен* реализовать класс. Если вы создали интерфейс, то при вызове методов унаследованного от интерфейса классса вы можете быть уверены, что ожидаемое поведение в классе будет.

    • @SyntaxSugarDaddy
      @SyntaxSugarDaddy  Рік тому +1

      Да, именно это я и назвал «средством наследования поведения»

  • @q2forever778
    @q2forever778 Рік тому

    Улучшения:
    1. Убрать посторонние звуки оповещений
    2. Убрать панель внизу экрана