Урок 15: Интерфейсы, абстрактные классы. Имплементация. // Котлин курс с нуля

Поділитися
Вставка
  • Опубліковано 5 лип 2024
  • 🔹 Тесты и практика по этому уроку: t.me/KotlinBasicsBot?start=yo...
    🔹 Текстовая версия урока: clck.ru/39ZZaW
    🛠 Код из всех уроков: t.me/ievetrov_dev
    🛠 Личный телеграм канал про путь разработчика: t.me/ievetrov_dev
    ✅ Вопросы и ответы для Android собеседований: t.me/AndroidSprint_Interview
    🔹 Бесплатный курс по Android: clck.ru/376Zab
    🔹 VK: ievetrov.development
    Немного затронем абстрактные классы в Kotlin. Объявим абстрактный класс с такими же полями и методами внутри него. Далее создадим дочерний класс космического шаттла Первого ордена и имплементируем в него поля и методы родителя. Не смотря на общую схожесть интерфейсов и абстрактных классов, расскажу про их функциональные отличия. Научимся создавать интерфейсы и станет понятно по какому принципу лучше их объединять. Далее покажу как применять те или иные интерфейсы к классам. Делать это будем с базовым классом, так как весь функционал автоматически передастся дочерним классам. Наконец, создадим экземпляр конкретизированного класса с типом космического шаттла и проверим корректность отработки реализованных методов интерфейсов.
    00:00 Абстрактные классы
    00:27 Свойства и методы абстрактных классов
    01:17 В каких случаях используют интерфейсы
    02:02 Функционал интерфейсов
    02:35 Объявление методов в интерфейсах
    03:58 Реализация абстрактных методов в интерфейсах
    #kotlin #котлин #программирование

КОМЕНТАРІ • 23

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

    Ссылки и содержание:
    🔹 Тесты и практика по этому уроку: t.me/KotlinBasicsBot?start=youtube
    🔹 Текстовая версия урока: clck.ru/39ZZaW
    🛠 Код из всех уроков: t.me/ievetrov_dev
    🛠 Личный телеграм канал про путь разработчика: t.me/ievetrov_dev
    ✅ Вопросы и ответы для Android собеседований: t.me/AndroidSprint_Interview
    🔹 Бесплатный курс по Android: clck.ru/376Zab
    🔹 VK: vk.com/ievetrov.development
    00:00 Абстрактные классы
    00:27 Свойства и методы абстрактных классов
    01:17 В каких случаях используют интерфейсы
    02:02 Функционал интерфейсов
    02:35 Объявление методов в интерфейсах
    03:58 Реализация абстрактных методов в интерфейсах

  • @fastwalker3551
    @fastwalker3551 6 місяців тому +10

    Ты привёл сложный и неудачный пример в этом уроке.
    Но я вроде понял благодаря другим ресурсам, те, кто не понимал также как и я, посмотрите этот код, думаю станет понятнее:
    // Определяем интерфейс
    interface Animal {
    fun sound()
    fun move()
    }
    // Класс, реализующий интерфейс
    class Dog : Animal {
    override fun sound() {
    println("Гав-гав!")
    }
    override fun move() {
    println("Бегает")
    }
    }
    class Bird : Animal {
    override fun sound() {
    println("Чик-чирик!")
    }
    override fun move() {
    println("Летает")
    }
    }
    fun main() {
    val dog = Dog()
    dog.sound()
    dog.move()
    val bird = Bird()
    bird.sound()
    bird.move()
    }
    Выходной результат будет:
    ```
    Гав-гав!
    Бегает
    Чик-чирик!
    Летает
    ```

    • @HolmessBear
      @HolmessBear 4 місяці тому

      Спасибо, стало понятнее

  • @user-sg4pk5go4e
    @user-sg4pk5go4e 3 місяці тому +1

    Когда до меня дошло, насколько это просто и полезно, если есть план на проэкт и ты реально начинаешь думать как это реализовать

  • @kluster120
    @kluster120 Рік тому +2

    Спасибо, только-только начал изучать эту тему, и тут ваше видео!)

    • @ievetrov
      @ievetrov  Рік тому +3

      Спасибо, великолепное попадание ))

  • @zettachad
    @zettachad 9 місяців тому

    Что-то в этом уроке прям намудрил. До этого как-то попроще было воспринимать

    • @fastwalker3551
      @fastwalker3551 6 місяців тому +1

      Почитай мой коммент, если ещё не разобрался.

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

      @@fastwalker3551 так-то да, разобрался, но спасибо, пример более чёткий, думаю, новичкам понятнее будет)

  • @user-ed8eb6cx7o
    @user-ed8eb6cx7o 5 місяців тому

    Позвольте вопрос, а зачем наследоваться, если проще импоементировпться, тогда не надо работать с super пробрасывать данные в родительские классы?

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

    Вопрос к людям, которые уже что-то умеют после просмотра этих и может быть других курсов. Хочу научиться программированию и сменить профессию. Заинтересовала андроид разработка. По данной теме не так много видео, как по остальным языкам. Получится ли при старании и имеющимся данным в этом курсе, да и вообщем на ютубе, достигнуть начального уровня программирования и пытаться выполнять заказы на фрилансе или куда-то устроиться? Много где видел, что люди в других языках вроде общие понятия имеют, но отшлифовать свои знания до полноценного начального уровня не могут. Банально из-за дефицита информации.
    И хватит ли знаний языка котлин или нужно все же знать ещё и джава для начала?
    Заранее благодарю за ответ)

    • @Mema817
      @Mema817 Рік тому +5

      1) java можно и не знать 2)Есть книга: Android для профессионалов в открытом доступе(пиратка) там всё подробно пишут. Дефицит информации не от того, что инфы мало, а от того, что вы не знаете куда двигаться и что изучать.

    • @iJoji
      @iJoji 10 місяців тому +1

      ну как, есть прогресс в изучении и какие то первые приложения?

    • @PVS_812
      @PVS_812 10 місяців тому

      @@iJoji перешёл на фронтенд)) Успехов пока нет, но они где-то впереди.

  • @iJoji
    @iJoji 10 місяців тому +1

    Здравствуйте, подскажите пожалуйста какое железо должно быть у ноутбука для комфортной разработки мобильных приложений и работы в Android Studio?

    • @ievetrov
      @ievetrov  10 місяців тому

      Здравствуйте. Рекомендую для разработки макбук с процессором на arm архитектуре (m1, m2 итд)
      а еще требования есть на офиц. сайте developer.android.com/studio/install

    • @rztrigger2862
      @rztrigger2862 8 місяців тому +1

      Если на мак денег жалко или по понятным причинам его покупать нет желания ,то подойдут ноуты с процессорами(i7 начиная со 2 поколения, например i7 2670, i5 - 3 поколения ,ну и выше) главное при выборе ноутбука или стационарного ПК ,смотреть на количество ядер и герцовку процессора ,например хороший базовый вариант процессор с 4 ядрами и 8 потоками например с частотой 2,7 МГц в стоке, больше ядер лучше,+ для комфортной работы нужно 16 Гб оперативной памяти,почему не 8? Потому как помимо разработки в IDE ты явно будешь сидеть с открытым браузером ,возможно захочешь запустить что то ещё,8 Гб это в притык IDE + браузер .И нужен SSD накопитель желательно высокоскоростной ,но на начальном уровне подойдёт любой.
      Итого конфигурация для комфортной работы для начала может быть такая :
      проц i5 10400f / ryzen 5 4600h
      Оперативка 16гб
      SSD минимум 128гб
      Видеокарта любая
      Главное при выборе отталкиваться от процессора и оперативки
      Ps. У меня ноут 2011 года ,стоит i7 3612qm 16gb оперативки 1866 МГц и ссд 256гб
      Для начального уровня проектов и обучения этого вполне за глаза

    • @McCainOnce
      @McCainOnce 6 місяців тому +1

      А лучше брать не ноутбук. Сорри за оффтоп.

  • @Shogun12442
    @Shogun12442 11 місяців тому +1

    Чёт прям совсем запутанно(

  • @mypathhh
    @mypathhh Місяць тому

    intir

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

    Я что то не пойму, начало видео, звучат слова обстрактрный класс запрещают создание экземпляров базового класса, обстоактный класс создан для описания будущих класов, а как они могуб быть будушими если их создание запрещено ?

    • @KostahWasTaken
      @KostahWasTaken Рік тому +3

      Абстрактный класс это класс который не предполагает создание экземпляров класса значит вкратце ты должен использовать абстрактый класс только для наследование а не для создания экземпляра данного класса и ещё экземпляр класса и будуюший класс наследник это не одно и тоже

  • @xxxbunx
    @xxxbunx Місяць тому

    первый орден? Т.е. всё таки кодим по мотивам SW? )))