Абстрактные классы | зачем нужны абстрактные методы | abstract c# | полиморфизм | C# ООП | # 76

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

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

  • @SimpleCodeIT
    @SimpleCodeIT  3 года назад +22

    Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =)
    ✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode
    ✅ donatepay.ru/don/SimpleCode
    ✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4

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

      Здравствуйте. Сколько всего уроков будет?

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

      Будут ли отдельные видео по пятерному проектированию ?
      Порождающие, Структурные, Поведенческие.
      Паттерны разработки: MVC vs MVP vs MVVM vs MVI?
      SOLID?

    • @GODNET-qe3mu
      @GODNET-qe3mu 3 года назад

      @@gupishayvi4341 DRY KISS YAGNI :)

    • @ВладиславЛаврентьев-ф9э
      @ВладиславЛаврентьев-ф9э 3 года назад

      отлично объяснил , даже пересматривать не пришлось , лайк бро

  • @АлёнаБараш-я7с
    @АлёнаБараш-я7с Год назад +39

    Восхищает не только отличная подача материала, но и Ваша точность в описании звуков разных видов оружия:D

    • @ravenempty3562
      @ravenempty3562 6 месяцев назад

      Наоборот же не точно озвучил. Пыщ озвучил, как "пышч" :)

    • @Remir_
      @Remir_ 3 месяца назад +1

      @@ravenempty3562 Так он из Украины, там щ читается как "шч", так что все точно

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

      @@Remir_ понятно)

  • @glist119
    @glist119 3 года назад +58

    Лучшая часть понедельника

  • @slavaukharikkim4833
    @slavaukharikkim4833 3 года назад +44

    Спасибо!!! Ещё не дошёл до этого урока, но дорогу осилит идущий

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

      Дошёл?)

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

      @@youchinafriend естественно )) Но столкнулся с новой проблемой
      )

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

      @@slavaukharikkim4833 понятно))

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

      @@slavaukharikkim4833 какая проблема?)

    • @slavaukharikkim4833
      @slavaukharikkim4833 3 года назад +4

      @@saints_man никак не могу ввести в работу новые техники. Например, знаю про ООП и про делегаты с событиями и а начать их применять на автомате не получается.
      Крч нужно больше практики

  • @DmitryDolganov
    @DmitryDolganov 3 года назад +13

    Сергей, приветствую тебя!
    Благодарю!

  • @dimasavukov6230
    @dimasavukov6230 3 года назад +23

    Сергей, огромное спасибо! Твои уроки это больше чем уроки..!

  • @GODNET-qe3mu
    @GODNET-qe3mu 3 года назад +12

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

  • @Dimo4ka.Harchenko
    @Dimo4ka.Harchenko 3 года назад +12

    Спасибо большое за урок!

  • @blackgolddev4023
    @blackgolddev4023 3 года назад +17

    Как всегда шикарно. Просто и понятно. Вы лучший.

  • @rm5643
    @rm5643 11 месяцев назад

    Спасибо за уроки. Очень крутой преподаватель! Грустно, планы озвучены еще 2 года назад, но из-за сами знаете чего они пока не сбываются. Автор я надеюсь, с Вами и Вашей семьей все хорошо.

  • @egorkalmykov4003
    @egorkalmykov4003 3 года назад +7

    Спасибо огромное за полезнейшие уроки !!!

  • @archeee6286
    @archeee6286 Месяц назад

    Сергей, вы гений в преподавании материала. Благодаря вам смог в короткий срок подготовится к экзамену по ооп c#. Большое вам спасибо ❤

  • @KOKERzeroZEROseven
    @KOKERzeroZEROseven Год назад +4

    Понял материал весьма абстрактно...

  • @fgddgdf9437
    @fgddgdf9437 3 года назад +18

    Подача материала отличная! Сергей, вы супер! Хотелось бы побольше домашних заданий на тему ооп, чтобы материал лучше усваивался =)

  • @ivannebyshynets8829
    @ivannebyshynets8829 3 года назад +4

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

  • @ShomLZ
    @ShomLZ 3 года назад +6

    Благодарю за видео, как всегда лаконично и информативно.

  • @slavaukharikkim4833
    @slavaukharikkim4833 3 года назад +4

    Вкусный урок!!! Я наконец дошёл до него)) спасибо за книги, Шилдт помогает)

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

    Спасибо за бесплатные и понятные уроки

  • @АнастасияЛысенко-у4о
    @АнастасияЛысенко-у4о 3 года назад +4

    Как вы понятно и доступно излагаете материал, огромное вам спасибо.

  • @broalan
    @broalan 2 года назад +1

    Охрененно! Как все красиво, логично и просто, если разобраться 😂
    Спасибо, Сергей за отличную подачу 🙌🏻

  • @VladislavLepin-z8j
    @VladislavLepin-z8j Год назад

    Это гениально, а подача материала на высоте, как и всегда. Спасибо вам

  • @Катерина-э4я
    @Катерина-э4я 3 года назад +8

    Спасибо!

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

    Весьма добротно, как всегда!

  • @АндрійПавленко-в9т
    @АндрійПавленко-в9т 3 года назад +3

    спасибо за уроки !

  • @ВладиславБезуглый-ь2к

    Большое спасибо за этот урок и все предыдущие уроки , все сделано с сердцем и это чувствуеться , что учителю не все равно поймешь ты или нет .
    От души благодарю !

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

    Поддерживающий комментарий для дальнейшего развития канала. Вы чрезвычайно понятно все объясняете

  • @ДмитрийАлексеев-ж1г
    @ДмитрийАлексеев-ж1г 3 года назад +3

    Благодарствую!

  • @Maria-n5g1l
    @Maria-n5g1l 3 года назад

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

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

    Отличное видео!

  • @VADIM-SOLOV
    @VADIM-SOLOV 3 года назад

    Отличный урок! Выражаю огромную благодарность автору!

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

    МОЛОДЕЦ ПРОДОЛЖАИИИИ ! ТЫ ПОМОЖЕН МНОООГИМ

  • @ОлександрСатанівський-п3в

    Подача материала отличная! Сергей, вы супер! Хотелось бы побольше домаш

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

    Сергей ты Супер, классный урок все четко обяснил, спасибо за урок

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

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

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

    пальцы вверх, спасибо!!!

  • @ПавелБойко-ь2д
    @ПавелБойко-ь2д 3 года назад +3

    Блин , оно всё понятно в начале урока , но когда добавляется больше строк , то немного всё равно путаюсь. Спасибо за урок! Крутая информация )

  • @wienswladimir6734
    @wienswladimir6734 Год назад +1

    Просто класс👍

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

    Как не зайдешь - всегда топовые примеры.

  • @quazar-kek2649
    @quazar-kek2649 Год назад +1

    Дякую за урок)

  • @Бот5329-и5г
    @Бот5329-и5г 3 года назад

    Класс. Очень крутой урок получился.

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

    Спасибо за отличные уроки!

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

    Спасибо вам Сергей.

  • @sergeynovikov7049
    @sergeynovikov7049 3 года назад +5

    Ура!

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

    Лучший!

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

    Класс.
    Больше уроков связаны с играми )))

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

    *Очень хорошо обьяснил ! спасибо*

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

    Спасибо за уроки! =)

  • @PS-vj6jz
    @PS-vj6jz 3 года назад +1

    Хорошие видео)

  • @ПрофильнаяМатематика

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

  • @sergei8750
    @sergei8750 3 года назад +13

    Как понять когда выбирать abstract class, а когда просто класс от которого потом будем наследоваться?
    Разница лишь в том, что если я не сделаю override у наследника то класс родитель подставит СВОЮ РЕАЛИЗАЦИЮ
    методов, а абстрактный класс будет требовать чтобы обязательно было переопределение?

    • @alexandervotyakov
      @alexandervotyakov 3 года назад +5

      Верно. Ну и вообще нельзя сделать экземпляр абстрактного класса.

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

    Лайк не глядя!
    шутка, конечно же я посмотрел 🙃

  • @НабиевАсылбек
    @НабиевАсылбек 2 года назад

    великолепно. И массив типов данных между делом, и сама выполненная реализация абстрактного класса. Похоже на централизованное управление наследниками с базового класса. Честно говоря и в ранее упомянутом Троелсоне и Шилдте такого уровня развёрнутых примеров не было, все как-то слишком академично, сухо, мало листингов. Поэтому особой пользы чтение этих книг не принесло (размазанная теория не давала точечно изучить и отладить изучаемые вещи). Здесь же дается самое главное, сам образ мышления программиста. Показана красота решения казалось бы простейшей задачи, так чтобы оно было легко управляемым и самое главное легко поддерживаемым. Что-то примерно подобное я встречал лишь в практикуме c# Зиборова, там тоже присутствует простота, эффективность и лаконичность кода.

  • @mastervolodsobeck5176
    @mastervolodsobeck5176 Год назад

    Программирование хобби, сильно помогли, сенк.

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

    спасибо

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

    Успехов вам, надеюсь что вы продолжаете вести свой канал

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

    вы хороший 🥺

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

    well done !

  • @ЕвгенийМартыньш
    @ЕвгенийМартыньш 3 года назад

    Замечательно

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

    Спасибоо!

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

    ждем теперь про интерфейсы)

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

    Дуже класне пояснення матеріалу, все дуже доступно і зрозуміло.

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

    Для полноты картины надо было еще в player добавить свойство health и метод hit {health - damage}

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

    Омг, ну наконец то кто-то додумался описать пример в таком виде) Респект) Смотрю первое видео чтобы восстановить знания и понимаю, что это лучший курс)

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

      Изучив пример из книги Троелсена, про базовый класс Shape и производные Xehagon и Circle, понял что пример на Weapon, Gun и Bow получился не самый лучший для понимания со стороны применения и построение абстрактных классов, методов в дальнейшем.

  • @shadowcode7752
    @shadowcode7752 3 года назад +4

    Абстрактные методы и в интерфейсах храняться.
    И сделай сравнение абстрактных классов и интерфейсов.

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

      С функциональной точки зрения, если не требуется никакие дополнительные данных в виде полей, конструкторов и т.д. - используются интерфейсы.

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

    А как наследовать конструктор от абстрактного класса? Я понимаю, что он не наследуется. А как его тогда переопределять? Я сейчас ни на одном сайте такой информации не нашел, а VS не делает это автоматически...

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

    Здравствуйте Сергей! Я новичок и начал изучать С# по Вашим урокам. В принципе дается легко, думаю за 3-4 месяца осилю. Вопрос в том нужно ли после С# изучать еще языки или этого для начала будет достаточно чтобы начать что то зарабатывать и в процессе дальше учится? И еще: доступ к Вашему исходному коду сильно повлияет на процесс учебы? Заранее Спасибо!

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

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

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

      @@heymeepo1 Так с чего вообще начать учится? Никто внятно не может объяснить. Есть какая нибудь пошаговая инструкция?

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

      @@smaks7767 ее нет, чем вы собираетесь заниматься в дальнейшем? Вот с этого и начните, попробуйте написать какое-нибудь простое приложение, и углубляйтесь постепенно. Нету профессии просто программист, в любом случае нужна какая-то специализация

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

      @@heymeepo1 Короче говоря изучаю дальше с# попутно вникая в нюансы разработки приложений. Язык для разработки WEB после изучения C# будет легче выучить?

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

      @@smaks7767 у веба есть и бэк и фронт, смотря что тебе надо, можно и c# использовать для этих целей, если речь о js, то да, js очень похож визуально, и не только) на c#, его будет легко выучить

  • @tesarotawer4390
    @tesarotawer4390 3 года назад +5

    Еее, еще один топ видосик от топ человека!)
    Я как посмотрел твое видео про книги по с#, у меня в голове появился вопрос. Ты случаем не делаешь материал по книге Троелсена и Джепикса?)

  • @Shuhret
    @Shuhret 3 года назад +7

    Спасибо вам за ваши отличные уроки!
    Будут ли в уроки по WPF?

    • @GODNET-qe3mu
      @GODNET-qe3mu 3 года назад +1

      Си шарп плюшки

  • @андрейпупкин-щ5у
    @андрейпупкин-щ5у 2 года назад

    Console.WriteLine(GetType().Name+Damage); почему не сказать, что у гет тайп неявно вызывается экземпляр текущего класса для получения типа?

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

    10:23 а как с помощью for это сделать?) Ведь item в foreach(т.е. его тип (var)) - это weapon, а в for переменная i это int

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

      индексы у элементов массива целые

  • @ПростоУлыбка-ш2о
    @ПростоУлыбка-ш2о 3 года назад +27

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

    • @Beyfus.Yakov.Official
      @Beyfus.Yakov.Official 2 года назад +2

      Именно с таким звуком стреляют в Worms)
      Также ржал от "пыщ-пыщ" в уроке про инкапсуляцию))

    • @MineCat_minecraft
      @MineCat_minecraft 7 месяцев назад

      Я это на английском написал, и придумал "Shapuchak"😂

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

    доброго времени суток. что делать если win-defender (Smart screen) жалуется на то, что мои проги - вирусы.
    что на C#, что на C++.
    (не хотелось бы его отключать. может есть какой-то код или упаковщик и т.д)

  • @Hender-n5j
    @Hender-n5j 5 месяцев назад

    автор, возможно ли получить вашу консультацию?

  • @sergeikap7211
    @sergeikap7211 Год назад +1

    Где же ваши уроки :(

  • @ВадимЗайцев-ш7з
    @ВадимЗайцев-ш7з 3 года назад +1

    Ребят, подскажите пожалуйста. Скачал VS Code вместо Visiol Studio 2019. Будет ли разница в изучении C#?

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

      Если хочешь по хардкору по можно и с code (очень много придется использовать командной строки). А вообще студия + решарпер самое удобное средство для быстрой работы.

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

      будет разница если комп слабый, на моём вижуал студио ОЧЕНЬ лагает, слишком ресурсоёмкая, в вскоде всё норм

  • @phajiay-tae
    @phajiay-tae 3 года назад +7

    Эх встретимся через неделю ((

  • @tomasgonsales483
    @tomasgonsales483 2 месяца назад

    Клёво) Нравится пояснение. НО сама тема... 2 раза пересмотрел видос. сложНААА!!!

  • @АндрейИванов-щ7ъ4н
    @АндрейИванов-щ7ъ4н 9 месяцев назад

    Есть же интерфейсы?

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

    Следующий урок будет по интерфейсам, получается.

  • @MaksymKhomenko-d6n
    @MaksymKhomenko-d6n 3 года назад +3

    в чем разница между абстрактным классом и интерфейсом?

    • @heymeepo1
      @heymeepo1 3 года назад +4

      в том, что абстрактный класс, это обычный класс, в котором можно делать все тоже самое, что и не в абстрактном, за исключением создания его экземпляра, а интерфейс может содержать только абстрактные методы, свойства и делегаты, и интерфейсы поддерживают множественное наследование, только еще 1 момент, что в C# 9 завезли возможность сделать базовую реализацию прямо в интерфейсе, но это не стоит использовать, если нету критической необходимости, в 99.9% случаев ее нет)

  • @КириллСилин-п4т
    @КириллСилин-п4т 3 года назад

    коммент для продвижения

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

    Местами нужно скорость воспроизведения поставить 0.75

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

    ну почему не вы преподаете у меня шарп :(

  • @sleepyNovember_project
    @sleepyNovember_project 4 месяца назад

    4:14 пздц 😅

  • @Crystal-kt3ig
    @Crystal-kt3ig 3 года назад +1

    Что делать если хочешь стать программистом(gamedev), но ненавидишь физику?

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

      А физика тут причем?

    • @Crystal-kt3ig
      @Crystal-kt3ig 3 года назад

      @@ivankorchmit6893 ну тип в инете говорят то что физика нужна

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

      @@Crystal-kt3ig Не слушай всяких придурков в Интернете, открывай истину сам. Вообще говорят, что чтобы стать геймдевелопером надо школу закончить на одни пятерки.

    • @Crystal-kt3ig
      @Crystal-kt3ig 3 года назад

      @@ivankorchmit6893 Ок

  • @777noob777saibot
    @777noob777saibot 3 года назад +4

    Всё понятно. Но вот что я подумал .Класс предок ведь не имеет доступа к методам наследников. Тогда как, отправив объект класса Gun в параметр класса Weapon, ссылка типа Weapon имеет доступ к методу Fire наследника ? Почему при переопределении предки вдруг начинают иметь доступ к полям наследников?
    Кажется понял. Так как экземпляр объекта абстрактного класса создать нельзя ссылка этого класса каким-то образом может ссылаться на методы объектов наследников. А класс предок с виртуальным методом имеет доступ к переопределённым методам наследников потому что это как бы один общий метод . Но всё равно как-то странно.

    • @777noob777saibot
      @777noob777saibot 3 года назад +3

      Короче это только ссылка класса предка имеет доступ к полям наследников. А экземпляр предка не имеет доступ к полям наследников. В параметрах class Player
      {
      Shoot( Weapon weapon){}
      }
      Weapon weapon - это только ссылка, а не объект.
      Чтобы она стала объектом класса Weapon нужно сделать так
      Weapon weapon = new Weapon();
      и теперь эта ссылка ссылается на объект типа Weapon.
      Если создать Gun gun = new Gun();
      и отправить в параметры Shoot
      class Player
      {
      Shoot( Weapon weapon)
      {
      weapon.Shoot()
      }
      }
      то эта ссылка превращается
      Player player = new Player();
      Player.Shoot(new Gun() );
      Weapon Weapon = new Gun() // в это
      объект наследника можно создать через ссылку класса предка.

  • @ВиталийКоваленко-х2щ
    @ВиталийКоваленко-х2щ 3 года назад +1

    Спасибо за уроки! Пожалуйста, выкладывайте в 1080р (без 60 кадров). Очень грузит ноут, а хотелось бы еще и в VS сидеть одновременно. Поддержите лайком у кого слабый ПК!

    • @ВиталийКоваленко-х2щ
      @ВиталийКоваленко-х2щ 3 года назад

      @@patrickowens7665 Спасибо, твоя поддержка хоть и не адекватная но может помочь )

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

      @@patrickowens7665 может все таки тебя за щеку а не тебе за щеку? Смысл в корне меняется))))

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

      @@patrickowens7665 так научись писать правильно

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

      @@patrickowens7665 🤦🏻‍♂️

  • @illashisko9804
    @illashisko9804 2 года назад +1

    когда foreach

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

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

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

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

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

    Почему решарпер не используете?

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

    Привет, слушай , можешь в каком-нибудь ролике уделить пару минут конкотенации строк с помощью "$", а то об этом остальные объясняют как-то непонятно... сложно что-ли)

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

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

  • @ВикторМарфин-к8ш
    @ВикторМарфин-к8ш 3 года назад +1

    +

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

    Боюсь скоро игры будем писать и наносить урон врагу.

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

    Как-то непонятно всё равно. Зачем нам этот абстрактный класс, который по-сути ничего не делает, если мы всё равно создаём обыкновенный класс и всю логику пишем в нём?

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

    Это конечно расходится с плюсами, но все же достаточно понятно. А вот вывод на консоль, все ни как не могу привыкнуть. Все какие то значки, фигурные скобочки... На плюсах лучше. Взяли изувечили... тьфу. Урок же отличный. Спасибо Сергей!

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

      С выводом на консоль всё просто.
      Если просто текст в кавычках "text", то напечатается как текст.
      А вот если написать $ знак доллара перед первой кавычкой, то внутри текста можно в фигурных скобках выводить переменные. Например
      Console.Write($"Город {city}");
      Это будет равнозначно
      Console.Write("Город" + city);

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

      @@alexandervotyakov Круто спасибо

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

    Можно ДЗ, пожалуйста.

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

      Давай я свои скину как раз на эту тему хапхпах

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

    Пока не понятно зачем именно использовать что-то абстрактное...

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

      Да, думаю на реальных проектах при разработке это редко используется т.к. очень сильно запутывает код

    • @FeinGe
      @FeinGe Год назад

      @@dzmitrystudy9514 Шутишь? В реальных проектах это используется постоянно. Запутывание только в маленькой программке, когда у тебя уже полноценная программа это наводит порядок и ее дальнейшее масштабирование, без этого твоя программа будет плохо читабельна и когда захочешь ее расширять столкнешься с массой проблема, почитай про паттерны, например SOLID.

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

    У твоих уроков один минус, слишком быстро кончаются

  • @meelstorm90
    @meelstorm90 3 года назад +4

    Огромное спасибо за урок!!

  • @3x__
    @3x__ 3 года назад +4

    спасибо за урок!