Шаблоны Java. Адаптер (Adapter)

Поделиться
HTML-код
  • Опубликовано: 28 окт 2024

Комментарии • 80

  • @largusofdeath
    @largusofdeath 5 лет назад +43

    Привет с javarush, просто разжевал за 10 минут то, что не мог понять час. Спасибо, подписался.

  • @predatel_rodini
    @predatel_rodini 3 года назад +3

    Я на 5й минуте видео: "Блин как так можно непонятно объяснять?"
    Я на 11й минуте: "Блин да тут воообще всё очевидно."
    Благодарю вас сударь.

  • @Catchermaxxx
    @Catchermaxxx 7 лет назад +14

    кайф, автор ты смог объяснить то что не смогли другие.

  • @Judosaper
    @Judosaper 3 года назад +2

    Заодно погуглил и для себя узнал чем отличается переменный ток от постоянного и расторная графика от векторной

  • @valeriikurnykov1128
    @valeriikurnykov1128 9 лет назад +41

    В данном видео на 9:42, популярная ошибка "копипаста". Объектная переменная g1 была изменена на g2, но ниже используются методы все через ту же g1.
    Не хватает примера как использовать это с ПОЛЬЗОЙ в программирование, в чем плюсы.

    • @programm4you
      @programm4you  9 лет назад +9

      +Valerii Kurnykov вот я лажанулся. Спасибо, что заметил и написал.

    • @xBesss
      @xBesss 8 лет назад +1

      +Valerii Kurnykov в java что бы "соединить" массив и ListView и т.д. нужен адаптор, напрямую работать с ним нельзя как в c#

    • @alexxxyzzz
      @alexxxyzzz 8 лет назад +3

      InputStreamReader преобразует InputStream к интерфейсу Reader

    • @predatel_rodini
      @predatel_rodini 3 года назад

      @@alexxxyzzz я блять голову ломал, какого хрена он мне буквачки вместо байтов отдаёт собака. Спасибо. 😊

    • @АлексейЗотов-щ3у
      @АлексейЗотов-щ3у 3 года назад

      +

  • @Tlenasva
    @Tlenasva 4 года назад

    Большое спасибо! Коротко и все понятно, еще и разные варианты и гибкость в реализации показываете.

  • @ДмитрийРоманов-с1ю
    @ДмитрийРоманов-с1ю 6 лет назад +1

    Пожалуйста не останавливайся! Пили видосы дальше.

  • @alexmarkov9943
    @alexmarkov9943 2 года назад

    😃 ааа-аа самое понятное видео по паттерну адаптера!

  • @Дмитрий-з7м9е
    @Дмитрий-з7м9е Год назад

    Лучшее объяснение, спасибо!

  • @МихаилМихаил-ф7у
    @МихаилМихаил-ф7у 5 лет назад +3

    привет с JavaRush!

  • @Елена-з2о4б
    @Елена-з2о4б 7 лет назад

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

  • @timon59388
    @timon59388 3 года назад

    Офигенный видос. Очень доходчиво объясняешь

  • @konstantinochannel
    @konstantinochannel 3 года назад

    Спасибо за доступное и понятное объяснение этой темы. Респект. Лайк )

  • @aleksandr4151
    @aleksandr4151 3 года назад

    Лучший, спасибо!

  • @barracudashark78
    @barracudashark78 4 года назад +1

    Спасибо! И тоже с javarush )

  • @математикАртем
    @математикАртем 3 года назад

    лайк подписка,посмотрел другие источники,этот самый понятный

  • @morkon91
    @morkon91 5 лет назад

    Благодарствую за видео.

  • @ilyazvorygin7284
    @ilyazvorygin7284 3 года назад

    спасибо из 21 года))

  • @igoraleksandrovich1498
    @igoraleksandrovich1498 3 года назад +1

    Через композицию более понятно и менее запутанно. Если делать через наследования, то у нас получатся парные методы и их всегда все будут путать. И первый способ вроде уже, как deprecated?

  • @mykolazhabko3228
    @mykolazhabko3228 5 лет назад

    Все классно! Понятно объясняешь. Одна ошибочка во втором примере должно быть g2.drawLine(); and g2.drawSquare();

  • @АлексейНикитин-ж2х

    Спасибо от явараш пользователя. Очень здоровское видео))))

  • @andrewvalevskiy3879
    @andrewvalevskiy3879 8 лет назад +4

    Спасибо огромное!

    • @programm4you
      @programm4you  8 лет назад +1

      +Andrew Valevskiy на здоровье, будет еще))

  • @andriymr.x8175
    @andriymr.x8175 5 лет назад +1

    Супер!

  • @Виталий-ь4т
    @Виталий-ь4т 8 лет назад

    Понятно и доступно объяснил, спасибо !

  • @lEpIvIaKl
    @lEpIvIaKl 2 года назад

    Отличное видео. Интересно.
    Были мысли, а что мешает классу RasterGraphics самому просто реализовать методы интерфейса. Но нельзя наверно рушить чужой код и вообще это будет рушить смысл чужих классов. Плюс я слышал что часто всё это нужно когдп разные там фреймворки и т.д. Там тем более нельзя так поступать.

  • @stanislavomelchenko5271
    @stanislavomelchenko5271 5 лет назад

    Спасибо большое extends Спасибо implements Огромное!

  • @ОлександрДейнека-т7ь

    Спасибо. Лаконично и доходчиво

  • @ngineus
    @ngineus 5 лет назад

    Первый метод не подойдет если у класа к которому мы делаем адаптер и у нашего интерфейса названия (но не реализация) некоторых метедов совпадают?

  • @TheImgoodman
    @TheImgoodman 7 лет назад

    Спасибо за понятное объяснение

  • @dmitrysmirnov9449
    @dmitrysmirnov9449 4 года назад

    просто, понятно, спасибо большое!

  • @ivanko747
    @ivanko747 5 лет назад

    Спасибо, очень толково и кратко.

  • @lotos2512
    @lotos2512 6 лет назад +1

    А почему бы не 2м случае не прокидывать объект класса RasterGrafic в конструктор VectorAdapterRaster2 и использовать. К примеру у RasterGrafic был интерфейс A. И в конструкторе VectorAdapterRaster2 мы бы указали его и тогда его RasterGrafic тоже подходил бы.

  • @alexmarkov9943
    @alexmarkov9943 2 года назад

    сильно не пинайте - Поправьте если что... - с этого видео понял что адаптер - это в какой-то степени напоминает полиморфизм(Если в полиморфизме метод один а реализации может быть несколько, только для его наследников класса (т.е. сужение )) то в Адаптер получается связка между разным классом и интерфейсом.... т.е класс обертка? с переопределлеными методами?🤔

  • @malinovkaspb23
    @malinovkaspb23 5 лет назад

    Спасибо тебе, дорогой!

  • @LinDahai88
    @LinDahai88 8 лет назад

    с наследованием изящно получилось )

  • @РусланФлойд-д8ь
    @РусланФлойд-д8ь 3 года назад

    LIKE From JavaRush

  • @АлексейПашков-у8ъ
    @АлексейПашков-у8ъ 6 лет назад

    Решил повторить что на видео и у меня при создание экземпляра в методе мэйн выскакивает ошибка Exception in thread "main" java.lang.Error: Unresolved compilation problem:
    No enclosing instance of type Solution is accessible. Must qualify the allocation with an enclosing instance of type Solution (e.g. x.new A() where x is an instance of Solution).
    at Solution.main(Solution.java:16)
    подскажите что не так? перепечатал 1 в 1.

  • @Igor-wh3cp
    @Igor-wh3cp 8 лет назад

    Отличное видео! Спасибо!

  • @PRPLG4M3R
    @PRPLG4M3R 5 лет назад

    Спасибо вам большое!

  • @badaboom3726
    @badaboom3726 4 года назад

    Спасибо!

  • @jopinfuyiro5570
    @jopinfuyiro5570 4 года назад

    Я новичок в программировании. Скажите в чем отличие паттерна адаптера от паттерна делегирования?

  • @_____q
    @_____q 6 лет назад +10

    В целом всё понятно, но есть небольшая ошибка:
    при реализации вторым способом методы вызывает g1, а не g2

  • @clubberufa
    @clubberufa 4 года назад

    Спасибо большое

  • @preenxus3425
    @preenxus3425 5 лет назад

    Внутри данного примера с адаптером используется еще 2 паттерна: упомянутая композиция и делегирование)

  • @user-ce3lm7sz1k
    @user-ce3lm7sz1k 5 лет назад

    супер!

  • @lance9533
    @lance9533 4 года назад

    Все понятно, кроме того - зачем там нужен интерфейс? Можно ведь просто переопределить методы класса-предка?

  • @Максим-х4о9с
    @Максим-х4о9с 7 лет назад

    Нормально объяснил

  • @СергейЕмельянов-е9з

    Отлично объясняйсон! Отлично) лукойс с меня

  • @armankhachatryan8527
    @armankhachatryan8527 5 лет назад

    Vysokomornyi !)

  • @SamuilOlegovich
    @SamuilOlegovich 5 лет назад

    Помогло

  • @Umberto810
    @Umberto810 8 лет назад +1

    Небольшая поправка в последнем примере, где экземпляр объекта raster передается как параметр в конструкторе. Это уже агрегация а не композиция.

    • @oleksandr-petrovych
      @oleksandr-petrovych 8 лет назад

      композиция это частный, "строгий" случай агрегации. Шо не ?

  • @Mr.GhosTMG
    @Mr.GhosTMG 3 года назад

    в main g1 4 раза вместо 2 - g2

  • @androidkotlin-6234
    @androidkotlin-6234 3 года назад

    Почему я программированием занялся в 31 год? Если бы изучал в момент выхода этого видео, было бы все намного проще...

  • @pavelpetrashov2975
    @pavelpetrashov2975 6 лет назад +1

    Вариант с наследлванием - очень плохая идея. Используйте композицию.

  • @aa-cx4qk
    @aa-cx4qk 8 лет назад

    на UML диаграме 3 класа. Client - не клас

  • @IraZhumatiy
    @IraZhumatiy 7 лет назад +1

    В другому прикладі потрібно використовувати об’єкт g2 :)

    • @programm4you
      @programm4you  6 лет назад

      ошибся, да. Вы правы, надеюсь, для g2 так же рабоатет :))

    • @kek_pupold
      @kek_pupold 6 лет назад

      ​@@programm4you, не работает, исключение выскакивает. Хотя может я что-то неправильно сделал, хотя вряд ли. Минут 20 не мог понять почему не работает, но потом увидел, что на видео все через g1 вызывается

  • @sashasashovic91
    @sashasashovic91 7 лет назад +1

    Первый вариант я считаю лучше.

    • @LevonsChannel
      @LevonsChannel 6 лет назад

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

  • @FamilyGames166
    @FamilyGames166 7 лет назад

    ,

  • @rufat85
    @rufat85 5 лет назад

    на мониторе 4К смотреть видео качеством 720р, такое себе. А видео полезное, спасибо!

    • @Chekist2008
      @Chekist2008 3 года назад

      Заставляют смотреть? Понимаю

    • @rufat85
      @rufat85 3 года назад

      @@Chekist2008 нет не заставляют.

  • @oleksandr-petrovych
    @oleksandr-petrovych 8 лет назад

    Тоже мне паттерн ...

  • @max__am
    @max__am 3 года назад

    все супер, тока ты когда создал второй адаптер, ты создал экземпляр интерфейса g2, но скопировал и повторно вызвал g1 с теми же методами и говоришь тот же самый результат)))

    • @max__am
      @max__am 3 года назад

      а так все понятно, спасибо)

  • @ruCK1E_xue5051
    @ruCK1E_xue5051 3 месяца назад

    АХАХАХАХАХАХААХХАХА ЙО-ХО-ХО ГОВОРИТ АХАХАХ

  • @telmani2624
    @telmani2624 4 года назад

    Спасибо!

  • @olexiypysarenko8090
    @olexiypysarenko8090 7 лет назад

    Спасибо!

  • @palatense6584
    @palatense6584 7 лет назад

    Спасибо!