Полиморфизм | виртуальные методы c# | virtual override c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 75

แชร์
ฝัง
  • เผยแพร่เมื่อ 28 พ.ย. 2024

ความคิดเห็น • 149

  • @SimpleCodeIT
    @SimpleCodeIT  3 ปีที่แล้ว +23

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

    • @mkoghazanjyan9508
      @mkoghazanjyan9508 3 ปีที่แล้ว

      da vse zdelayem Gospodin SERGEY , sposibo za vashi uroki no proshu vas ochen proshu nemnochko po bistreeye kinte vido ostalnoe proshu ochen sposibo

    • @gupishayvi4341
      @gupishayvi4341 3 ปีที่แล้ว

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

  • @tominoker2
    @tominoker2 3 ปีที่แล้ว +143

    Почему не было такого преподавателя в универе??( Я исписал больше листов, написал больше программок, нежели за все время обучения в универе. Уже 45 листов А4 с двух сторон, 45 страниц настоящего сокровища! Книги это хорошо, но гораздо лучше записывать и все излагать для себя своим языком по этим урокам. Вроде все это проходил, но как то не вникал. А сейчас я каждое слово понимаю, наконец-то, с жадностью информацию поглощаю. Я наконец-то стал понимать суть ООП. Если бы такие преподаватели были в каждом вузе и каждой школе, эх. Спасибо вам огромное!

    • @kirik06711
      @kirik06711 2 ปีที่แล้ว +4

      истину глаголишь. в вузе преподу абсолютно все равно, не объясняет, но требует. как бы классика для вуза, тебе дают 20%, 80% учишь сам, но хочется, чтобы учили, а не просто приходил отсидеть пару..

    • @HeIvis
      @HeIvis 2 ปีที่แล้ว

      Капитан Молдова, как ваши успехи?)

  • @dizmo..
    @dizmo.. 3 ปีที่แล้ว +94

    Как всегда, спасибо лучшему учителю по программированию за отличный урок!

  • @pesk0w
    @pesk0w 2 ปีที่แล้ว +5

    Спасибо, из-за "Рон дон дон" я теперь хорошо запомнил как работает virtual и override))))))😀

  • @DmitryDolganov
    @DmitryDolganov 3 ปีที่แล้ว +14

    Сергей, салют! Благодарю!

  • @adamadamesko9759
    @adamadamesko9759 3 ปีที่แล้ว +28

    Этот урок поднял мне настроение, и я даже кое-что понял!

  • @mikola_belarus
    @mikola_belarus 3 ปีที่แล้ว +25

    Хочу выразить благодарность данному сенсею за отличный урок

  • @tutnichego4973
    @tutnichego4973 3 ปีที่แล้ว +10

    Как прекрасны понедельники. Спасибо за урок!

  • @bloodmif
    @bloodmif 3 ปีที่แล้ว +16

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

  • @ShomLZ
    @ShomLZ 3 ปีที่แล้ว +10

    Спасибо за очередное видео. За книги из прошлого видео тоже спасибо, очень полезные оказались.

  • @michaeltkachenko7313
    @michaeltkachenko7313 3 ปีที่แล้ว +5

    Ура, ну наконец то полиморфизм, долго ждал конечно

  • @makasin2393
    @makasin2393 3 ปีที่แล้ว +8

    Ждал с нетерпением:)

  • @flepjack
    @flepjack 3 ปีที่แล้ว +5

    Лайк не глядя и комментарий в поддержку)

  • @SoundIKS
    @SoundIKS 3 ปีที่แล้ว +8

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

  • @MrRelevance
    @MrRelevance 3 ปีที่แล้ว +7

    Спасибо за ваши уроки!

  • @karkar2x
    @karkar2x 3 ปีที่แล้ว +4

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

  • @ДмитрийАлексеев-ж1г
    @ДмитрийАлексеев-ж1г 3 ปีที่แล้ว +17

    И снова огромная благодарность за урок, Сергей! Кстати, я скачал книги, посоветованные тобой, и стараюсь изучать.

  • @vladimir_pl
    @vladimir_pl 9 หลายเดือนก่อน +1

    Было сложно но кое что понял)

  • @mkoghazanjyan9508
    @mkoghazanjyan9508 3 ปีที่แล้ว +1

    gospodin SERGEY proshuu vass ochen pobistree kinte vashi video ochen prosimm ochenn nado vsee sposibo za vsex vash video lessonss thenks

  • @ЛюдмилаБоровик-ц8в
    @ЛюдмилаБоровик-ц8в ปีที่แล้ว

    Добрый день!
    Вы ПРЕКРАСНО ведете ВСЕ уроки. Я читаю C# студентам не первій год. И всем рекомендую только Ваши уроки. Кратко. Понятно. Без сленга! Просто идеально! Спасибо.

  • @yevheniikovalenko5950
    @yevheniikovalenko5950 3 ปีที่แล้ว +22

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

  • @gedvilgame7937
    @gedvilgame7937 ปีที่แล้ว

    дякую автору за хороший матеріал, все зрозуміло і розбито на окремі уроки

  • @saha4005_
    @saha4005_ 3 ปีที่แล้ว +4

    Спасибо тебе за то что продолжаешь уроки по с# очень помогаешь в развитии

  • @ihorrud1962
    @ihorrud1962 3 ปีที่แล้ว +4

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

  • @geshoi
    @geshoi 2 ปีที่แล้ว +1

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

  • @donlinoleum831
    @donlinoleum831 3 ปีที่แล้ว +3

    Как всегда все на высшем уровне!

  • @Катерина-э4я
    @Катерина-э4я 3 ปีที่แล้ว +6

    Ура! Спасибо)

  • @cyberwarlus2758
    @cyberwarlus2758 3 ปีที่แล้ว +7

    То чуство когда здесь более подробнее чем на зарубежных курсах

  • @ВасилийМигулин-т1й
    @ВасилийМигулин-т1й 2 ปีที่แล้ว +4

    Какие же шикарные уроки
    С вами я выучил си шарп и теперь могу делать свою игру
    С первой прибыли обязательно поделюсь)

  • @Maria-n5g1l
    @Maria-n5g1l 3 ปีที่แล้ว +2

    Очередное огромное спасибо за видео!

  • @t00much20
    @t00much20 3 ปีที่แล้ว +1

    Большое спасибо за уроки. С такой подачей материала не полюбить программирование просто невозможно.

  • @tellur6726
    @tellur6726 3 ปีที่แล้ว +1

    Благодаря вашим урокам многие из лабораторных работ по программированию могу делать и понимать хорошо! Спасибо вам огромное за ваш труд!

  • @KirillDoctor2105
    @KirillDoctor2105 3 ปีที่แล้ว +2

    я только сегодня прошел эту тему и ты выложил этот ролик!!Благодарю💓

  • @awdesawdeska6161
    @awdesawdeska6161 3 ปีที่แล้ว +1

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

  • @inspirationchannel6901
    @inspirationchannel6901 3 ปีที่แล้ว +3

    Интерестно, что в Java это работает "по умолчанию" (10:47). Сначала изучал просто Java, теперь понадобилось перейти на C#, Ваши уроки сильно помогают, но периодически наталкиваюсь на такие ньюансы. Спасибо за Ваш труд.

    • @DikiyKomar
      @DikiyKomar 2 ปีที่แล้ว

      Возможно Ява более высокоуровневый.

  • @viktarvarabei6079
    @viktarvarabei6079 3 ปีที่แล้ว +3

    Красавчик, спасибо ❤️

  • @ПавелБойко-ь2д
    @ПавелБойко-ь2д 3 ปีที่แล้ว +1

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

  • @triceramops3280
    @triceramops3280 2 ปีที่แล้ว

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

  • @egorkalmykov4003
    @egorkalmykov4003 3 ปีที่แล้ว +1

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

  • @АртурКосяков-и5о
    @АртурКосяков-и5о 3 ปีที่แล้ว +1

    Спасибо за знания.

  • @PS-vj6jz
    @PS-vj6jz 3 ปีที่แล้ว +1

    Уроки действительно хорошие

  • @shadowbeast3568
    @shadowbeast3568 3 ปีที่แล้ว +2

    Очень хорошо объясняется. Надо своим студентам ссылку на ваш канал кинуть - пусть штудируют..

  • @windws7137
    @windws7137 2 ปีที่แล้ว

    Чел, ты лучший. Спасибо за понятную подачу материала! Коммент для продвижения

  • @Kbadpatha9Boda
    @Kbadpatha9Boda 2 ปีที่แล้ว

    Ты невероятно крутой препод. Канал просто находка для новичков. Пожалуйста не бросай выпускать видосы!

  • @artlinestudio6735
    @artlinestudio6735 3 ปีที่แล้ว +1

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

  • @3x__
    @3x__ 3 ปีที่แล้ว +1

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

  • @ivankorchmit6893
    @ivankorchmit6893 3 ปีที่แล้ว +6

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

    • @tutnichego4973
      @tutnichego4973 3 ปีที่แล้ว +1

      Согласен, тоже жду ДЗ.

    • @HATAHKE762
      @HATAHKE762 3 ปีที่แล้ว

      Ловите ДЗ:
      В окне приложения первоначально появляются 4 поля ввода, относящиеся к двум категориям: Если пользователь вводит в поле ввода первой категории символ, соответствующий латинской букве, то этот символ в строке появляется дважды. Если пользователь вводит в поле ввода второй категории символ, соответствующий цифре, то в поле ввода кроме этого символа появляется слово, соответствующее этой цифре. Когда строка, содержащаяся в поле ввода, становится длиннее 50 символов, такое поле ввода меняет свое поведение, независимо от категории: при вводе любого символа в строке исчезает первый символ. Различия в поведении полей ввода реализовать с помощью полиморфизма.

    • @tutnichego4973
      @tutnichego4973 3 ปีที่แล้ว

      @@HATAHKE762 Задание очень интересное. Будет время - реализую код и отправлю сюда. Ну, а пока мне в голову единственное, что приходит в голову как это сделать - через try catch запарсить строку в int. Не получается - действие со строкой. Удалить первый символ - проще простого, т.к. строку можно перевести в char-массив и там уже удалять.

    • @tutnichego4973
      @tutnichego4973 3 ปีที่แล้ว

      @@HATAHKE762
      class PrintDate // класс вывода информации.
      {
      public void PrintD(PrintString print, string value) // сам метод, который принимает в себя класс PrintString и его наследников
      {
      print.Print(value); // вывод информации
      }
      }
      class PrintString // прародитель остальных классов - вывод строки.
      {
      public virtual void Print(string value) // метод вывода
      {
      for (int i = 0; i < value.Length; i++) // проверка символов внутри строки
      {
      if (((value[i] >= 'a') && (value[i] = 'A') && (value[i] = 50) // если длина сообщения равна 50 или больше - применяется метод класса BigDate
      print.PrintD(new BigDate(), valueDate);
      else // иначе как...
      {
      try // будет попытка перевести строку в число
      {
      int.Parse(valueDate);
      print.PrintD(new PrintInt(), valueDate); // удача - используем метод класса PrintInt
      }
      catch (Exception) // в ином случае это будет строка и тогда...
      {
      print.PrintD(new PrintString(), valueDate); // используем метод класса PrintString.
      }
      }
      }
      }

  • @selfcreator8921
    @selfcreator8921 2 ปีที่แล้ว

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

  • @chon-coding
    @chon-coding 3 ปีที่แล้ว

    Благодаря этому человеку я наконец начал понимать ооп) благодарю за уроки )

    • @HeIvis
      @HeIvis 2 ปีที่แล้ว

      Привет, прошел год. Есть успехи?

  • @MrDnbass
    @MrDnbass 3 ปีที่แล้ว

    Спасибо Сергей!, очень надеюсь на 105 видос.

  • @infinitynoir5441
    @infinitynoir5441 3 ปีที่แล้ว +2

    Как всегда спасибо)

  • @boostedrobloxdevelopment3374
    @boostedrobloxdevelopment3374 2 ปีที่แล้ว

    Спасибо вам огромное за подобные видео! Очень полезно

  • @quazar-kek2649
    @quazar-kek2649 ปีที่แล้ว +4

    Сподіваюсь з автором все добре. Дуже корисні відео, мені вони дуже допомогли в розумінні матеріалу. Шаную вашу працю.

  • @ifelru
    @ifelru 3 ปีที่แล้ว

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

  • @VADIM-SOLOV
    @VADIM-SOLOV 3 ปีที่แล้ว

    Благодарю за отличный урок!

  • @adeya6396
    @adeya6396 3 ปีที่แล้ว

    Супер понятно

  • @vladisslavss
    @vladisslavss 3 ปีที่แล้ว

    Лукас и коммент в поддержку канала!)
    Очень крытые видосы. Подойдут для закрепления материала!)

  • @artemky3bmu45
    @artemky3bmu45 ปีที่แล้ว

    Спасибо!!!

  • @krs_83
    @krs_83 3 ปีที่แล้ว +1

    спасибо

  • @sergeynovikov7049
    @sergeynovikov7049 3 ปีที่แล้ว +4

    Ура!!

  • @nikolayprudov170
    @nikolayprudov170 2 ปีที่แล้ว

    Great! Thanx so much!

  • @lansvans3553
    @lansvans3553 2 ปีที่แล้ว

    ура я нашла ещё один толковый источник по программированию

  • @АртёмГуртиков-х9ч
    @АртёмГуртиков-х9ч 3 ปีที่แล้ว +9

    Сергей, сделайте, пожалуйста, уроки по Git

  • @ivannebyshynets8829
    @ivannebyshynets8829 3 ปีที่แล้ว

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

  • @Dimo4ka.Harchenko
    @Dimo4ka.Harchenko 3 ปีที่แล้ว +1

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

  • @hayl7990
    @hayl7990 2 ปีที่แล้ว

    ты тоооооооооооооооооооооооооооооп!!!!!

  • @Анечка-е4й9м
    @Анечка-е4й9м ปีที่แล้ว

    благодарю

  • @leskhanmuratuly5374
    @leskhanmuratuly5374 2 ปีที่แล้ว

    Спасибо)

  • @keng_makon
    @keng_makon 3 ปีที่แล้ว +1

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

  • @sabatonbaton6105
    @sabatonbaton6105 3 ปีที่แล้ว +2

    Спасеба :D

  • @ruslanelzhirkaev3538
    @ruslanelzhirkaev3538 3 ปีที่แล้ว

    Братишка ты лучший!!!

  • @denmoonchild
    @denmoonchild 3 ปีที่แล้ว +2

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

  • @МирраДоронина
    @МирраДоронина 3 ปีที่แล้ว +1

    Спасибо большое! продвигаю)))

  • @antonskuratov9637
    @antonskuratov9637 3 ปีที่แล้ว +2

    Однозначно лайк!!!

  • @blackgolddev4023
    @blackgolddev4023 3 ปีที่แล้ว

    Шикарно

  • @Blackheart9511
    @Blackheart9511 3 ปีที่แล้ว +6

    Прекрасные уроки, Сергей. Спасибо огромное за доступные и интересные уроки! Не подумайте, что я пытаюсь вас учить, просто мое пожелание (и думаю, другим бы тоже понравилось): домашние задания. Раньше вы их уже периодически предлагали, но перестали. Возможно, из-за малого количества обратной связи прекратили, может по другим причинам, но мне кажется, что их очень не хватает.
    Я не предлагаю сильно заморачиваться и делать аж по отдельному ролику для разбора каждой домашки, но было бы славно, если бы вы предлагали подписчикам написать то или это на основе имеющихся у них знаний. Даже хотя бы просто предложить небольшой перечень задачек на условном codewars. Разбирать их в дальнейшем вовсе не обязательно - кто захочет, тот сделает.
    Ваши уроки очень информативны, но недостаток практики сказывается. Говорю из собственного опыта, потому что недавно решил написать что-то вроде ежедневника для консоли с возможностью сохранения, загрузки и редактирования записей, но изломал себе всю голову в процессе. Необходимые знания сами по себе имеются, но из-за того, что практического применения они не до сего момента не находили, очень трудно понять, что-где-когда делать. В итоге просто теряешься.

  • @Roman_SBB
    @Roman_SBB 3 ปีที่แล้ว +1

    "Рон дон дон" 👍

  • @GoodOk.
    @GoodOk. 3 ปีที่แล้ว +1

    👍

  • @vvkbees6473
    @vvkbees6473 3 หลายเดือนก่อน

    🤝

  • @DikiyKomar
    @DikiyKomar 2 ปีที่แล้ว

    На данном примере, Можно было не переопределять startengine() в SportCar, там можно использовать метод и без override.
    Но как для лучшего понимания материала, спасибо!

  • @siarheitkachou6006
    @siarheitkachou6006 3 ปีที่แล้ว +1

    Давай ролик про рефлексию.

  • @КириллСилин-п4т
    @КириллСилин-п4т 3 ปีที่แล้ว

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

  • @matveydutkovsky6184
    @matveydutkovsky6184 วันที่ผ่านมา

    Очень удобная вещь, но, как я понял, невозможно переопределить метод дважды? Если создадим еще какой-нибудь класс GreenSportCar и унаследуем его от SportCar, переопределим метод override void Drive(), то при вызове этого метода у базового класса будет выполняться реализация SportCar и игнорироваться новая реализация в GreenSportCar? Было бы очень сподручно найти решение этой проблемы, так как мне для проекта необходимо потенциально бесконечно расширяемое дерево наследования классов, в котором каждый класс сможет переопределить свои методы так, чтобы при вызове их в переменной базового класса вызывалась самая последняя переопределенная реализация у этого экземпляра.

  • @S.D.Primus
    @S.D.Primus หลายเดือนก่อน

    😍

  • @unknown6535
    @unknown6535 3 ปีที่แล้ว +1

    если от класса наследника (в котором мы переопределили виртуальный метод) привестись к базовому классу, то всёравно будет вызван переопределённый метод из класса наследника

  • @vitor_corve
    @vitor_corve 3 ปีที่แล้ว +1

    I move to fast on the gas, don't chase me!

  • @ИванПетров-л5и6е
    @ИванПетров-л5и6е 3 ปีที่แล้ว +3

    Сергей, спасибо за работу! Есть небольшая просьба от человека с проблемами по зрению: если Вас не затруднит, не могли бы Вы при записи роликов использовать какую-нибудь светлую контрастную тему для VS?

  • @montecristo31
    @montecristo31 3 ปีที่แล้ว +1

    Подскажите пожалуйста, для того что бы изучить плюсы, обязательно нужно начинать с СИ?

  • @montecristo31
    @montecristo31 3 ปีที่แล้ว +1

    Здравствуйте, подскажите пожалуйста. Дело в том что в своих урока по C++ вы используете VS. Но к сожалению версии VS под линукс нету, поэтому я хочу выбрать какой нибудь другой IDE. Так вот у меня в будущем не возникнут из-за этого проблемы?

  • @Mentovskiybobik
    @Mentovskiybobik 3 ปีที่แล้ว

    эрон дон дон))) Спасибо ;-)

  • @VeryBadElephant
    @VeryBadElephant 2 ปีที่แล้ว

    Рон дон дон!

  • @ihorrud1962
    @ihorrud1962 3 ปีที่แล้ว

    Сергей,как думаете нужно много знать Си шарп что бы создавать игры?Я именно об знаниях, вы когда ни будь занимались Играми?И еще один вопрос Xamarin хуже чем Kotlin,ReactNative,Java?

    • @dronsan-unity7302
      @dronsan-unity7302 3 ปีที่แล้ว +1

      если до сюда дошел - простенькие можешь, много же видосов с созданием игр

  • @Влад-щ2э1э
    @Влад-щ2э1э 3 ปีที่แล้ว +1

    я чутка не понял по поводу new. допустим в базовом классе есть метод Print
    public void Print()
    {
    Console.WriteLine(name);
    Console.WriteLine(age);
    Console.WriteLine(weihgt);
    Console.WriteLine(height);
    }
    если в дочернем классе мы добавим 2 новых поля(CastSpeed и Speed) и напишем
    public new void Print()
    {
    base.Print();
    Console.WriteLine(CastSpeed);
    Console.WriteLine(Speed);
    }
    то в консоль выведется 6 параметров. 4 параметра из основного класса(name,age,weight,height) и 2 из наследника(CastSpeed,Speed). а если мы в дочернем классе напишем
    public new void Print()
    {

    Console.WriteLine(CastSpeed);
    Console.WriteLine(Speed);
    }
    то в консоль выведется только 2 параметра из дочернего класса. так в чем же отличие в данном виде переопределения метода с оператором new,от virtual\override? не могу сообразить,хоть убейте))) пример написал из своего кода. писал в VS и так и так,и оба варианта работают.

  • @blackberry7191
    @blackberry7191 3 ปีที่แล้ว

    Здравствуйте Сергей. А сколько примерно ещё будет серий?

  • @TOP10-o1l6q
    @TOP10-o1l6q 3 ปีที่แล้ว +1

    Автор а как с вами можно связаться что бы вы мне с вашим богатым опытом помогли пофиксить одну программу?

  • @BillGates-ry3dk
    @BillGates-ry3dk 3 ปีที่แล้ว +1

    Вся жизнь машина , а ты в нем Рон Дон Дон

  • @maksimuz3640
    @maksimuz3640 3 ปีที่แล้ว +1

    Извините , а что это за проект консольное приложение или что??

  • @wingofnight870
    @wingofnight870 ปีที่แล้ว

    что мешает мне просто переопределить функцию ....а понял. Читаете мысли шеф

  • @youchinafriend
    @youchinafriend 3 ปีที่แล้ว +1

    Привет SimpleCode, не хотел бы запилить курс именно с# для Unity?

    • @youchinafriend
      @youchinafriend 3 ปีที่แล้ว

      спасибо.

    • @pavlom8882
      @pavlom8882 2 ปีที่แล้ว

      Я б тоже хотел его..

    • @youchinafriend
      @youchinafriend 2 ปีที่แล้ว

      @@pavlom8882 уже узнал, но бросил программирование, в общем, язык с# состоит из ключевых слов и конструкций, например классы, методы, поля, например в юнити все эти конструкции так же используются, просто функционал может быть разный. Изучай движок и язык с#, потом ты поймёшь что для чего, удачи. Так же в юнити присутствует свои классы и методы которые стоит изучить.

  • @artur8904
    @artur8904 3 ปีที่แล้ว +1

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