Полиморфизм на практике

  Переглядів 177,244

ExtremeCode

ExtremeCode

6 років тому

Друзья, пакуйте чемоданы и мы отправляемся в увлекательное путешествие по коду! В этом видео я постараюсь раскрыть для вам все секреты полиморфизма подтипов на примере. Многие начинающие программисты считают, что полиморфизм является ненужной фитчей многих ООП языков. Но на самом деле полиморфизм - это один из тех аспектов языка, которые сделали ООП самой популярной методологией на сегодняшний день.
Ссылка на пример из урока: github.com/nickolasKrayn/poly...
P.S. Смело форкайте репозиторий, что бы другие смогли познакомится с вашими вариантами решения задачи с конца видео.
Заходите и подписывайтесь на наши другие ресурсы!
● VK: bit.ly/vk_extremecodetv
● Telegram Chat: bit.ly/telegram_extremecodetv
● Twitter: bit.ly/twitter_extremecodetv
● GitHub: bit.ly/github_extremecodetv

КОМЕНТАРІ: 248
@keinorred278
@keinorred278 5 років тому
Из-за слишком шикарного юмора на этом канале приходится всё пересматривать 10 раз, чтобы перестать реагировать на шутки и перейти к делу. А так, всё просто шикарно.
@paul_wiggin
@paul_wiggin 4 роки тому
Накрутка просмотров получается :D
@kslmPtr
@kslmPtr 6 років тому
Классно, что с юмором подходите к делу, гораздо интереснее смотреть, чем обычные туториалы
@kslmPtr
@kslmPtr 6 років тому
Можете запилить больше видях с конкретными примерами про делегаты, интерфейсы :D Super!
@ExtremeCode
@ExtremeCode 6 років тому
А по интерфейсам есть ukposts.info/have/v-deo/nqViZ5pojW1krGg.html&ab_channel=ExtremeCode
@vitaliktrebko6436
@vitaliktrebko6436 4 роки тому
Не мочь в делегаты, как не мочь в реп
@vitaliktrebko6436
@vitaliktrebko6436 3 роки тому
@@user-ez3yk9cg2o Ды:)
@bakane6030
@bakane6030 2 роки тому
@@kslmPtr was A a a
@Milording
@Milording 6 років тому
Великолепно. Вот тут темп очень приятный и понятный. Расскажите также про дерева выражений, CLR (какие-нибудь важные темы), yield, синхронизацию потоков
@alexwtf7046
@alexwtf7046 5 років тому
Вариант решения: Переопределить метод toString() в классе Product сформировав шаблон для вывода; 1. вызывать Console.WriteLine(Product); 2. реализовать делегат, принимающий String что бы иметь возможность использовать в качестве вывода инфо не только консоль но и любой другой метод.
@magicsaros5315
@magicsaros5315 6 років тому
Это шедевр!!! Одно из лучших видео что я смотрел за последнее время! Одновременно все понятно и очень смешно :DD
@DIMANRUS
@DIMANRUS 4 роки тому
Красава) Все понятно и с юмором!
@johntrucena4947
@johntrucena4947 3 роки тому
вроде учу я такой прогу вроде всё понятно но вот смотрю вас, и понимаю что я нихрена не знаю но после вас я как будто познал все грани бытия спасибо
@user-xt8gt7ev5p
@user-xt8gt7ev5p Рік тому
я так рад, что спустя какое то время изучения языка информация наконец то легко усваивается и оседает в голове, спасибо папаша
@mini_clop
@mini_clop 3 роки тому
Лучшее видео! Поугарал и получил полезную информацию по ООП
@TraderShone
@TraderShone 2 роки тому
Самое лучшее видео с разьяснением.Я ждал этого 2 месяца!!!!КРАСАВА!!!!!!!!!!!!
@getright20
@getright20 4 роки тому
Приятно смотреть видео, жги еще!)
@vansoullive
@vansoullive 6 років тому
Вы лучшие, спасибо вам)
@lanseris9160
@lanseris9160 5 років тому
просто зачёт, офигенное объяснение)
@user-kz9hd3qd5y
@user-kz9hd3qd5y 6 років тому
Классные уроки! Не могли бы вы запилить пример похожего приложения, но с базой данных(MS SQL например). Логику немного не пойму конкретно с бд)
@evgenasd8892
@evgenasd8892 4 роки тому
Наглядно и понятно! польза от использования громадная будет на практике. Стиль подачи материала - образно-наглядный , зашел лучшим!
@chakchaky8521
@chakchaky8521 2 роки тому
Да, если ты такое на практике заюзаешь ребята которые после тебя будут отлавливать банк изрядно подпортят твою карму)))
@Portrett
@Portrett 6 років тому
Шикарный канал))
@yo_moe
@yo_moe Рік тому
Это просто великолепно!
@misters6451
@misters6451 2 роки тому
Вот так спросят тебя на собесе про полиморфизм и всплывут у тебя только конские возбудители и куклы как пример ) Спасибо зав видео!
@viktorion9703
@viktorion9703 6 років тому
Вы лучшие!
@user-hj5pk5ui9c
@user-hj5pk5ui9c 4 роки тому
Просто круть!) юмор на высоте
@whoiam6395
@whoiam6395 4 роки тому
Очень доходчиво!
@vladislavpavlov8638
@vladislavpavlov8638 4 роки тому
Самые интересные и простые примеры)
@cinemapluse8162
@cinemapluse8162 4 роки тому
4:55 - просто класс)))
@Mikearhangel
@Mikearhangel 3 роки тому
Спасибо вам - очень интересно
@user-du8rw6tb6r
@user-du8rw6tb6r 4 роки тому
Спасибо большое, наконец разобрался в полиморфизме
@akitano26
@akitano26 4 роки тому
И всего-то потребовалось наглядно показать на х * ях резиновых х)
@sintexnik6396
@sintexnik6396 6 років тому
Давай Обобщения в практике :D. А так же будут уроки по работе с памятью в C# (я не про порево с unsave) ?
@adiletberdibekov6961
@adiletberdibekov6961 6 років тому
Супер! Пили еще ролики!
@Light_Script-xh9ww
@Light_Script-xh9ww Місяць тому
У меня такая же практика была, только не с магазином, а gym, а вместо user был dungeonMaster. И всë это было сделано на C++
@Enndemion
@Enndemion 4 роки тому
Отпад! Слабо шарю в программир... но в юморе разбираюсь! Продолжай!
@titoortiz4148
@titoortiz4148 4 роки тому
Оххх чуаак, что ты со мной делаешь))) Прекрасный юмор, снимаю шляпу!)
@azminseo
@azminseo 4 роки тому
Спасибо за информативный ролик, как при пример архитектуры. JAVA. После 7 минуты увидел слово VIRTUAL понял что дальше мне не по пути. И каким болтом я здесь ечли я JAVA STUDENT, да потому что у вас много роликов с общей информацией. Лайк пасоны. Стараетесь
@Brigan4ik
@Brigan4ik 6 років тому
Поставил 69тый лойс! Как раз под стать тематике видео ^_^ А так, по сабжу - отличный и наглядный пример. Так держать.
@ceasarmalkovich5931
@ceasarmalkovich5931 6 років тому
upcast только на этом канале видел) интересный пример )
@winch1458
@winch1458 3 роки тому
Найс! Хороший пример на магазине с игрушками)
@veidenbahlev
@veidenbahlev 4 роки тому
выхода из программы нет! вот как надо делать бизнес! сцук я просто под столом!!!! аааааа, огонь!
@_GreenSnake_
@_GreenSnake_ Рік тому
Спасибо бро
@bitchesdontstopme7759
@bitchesdontstopme7759 5 років тому
Ты самый лучший преподаватель, все друзья орут даже те которые не программируют
@user-ym6ln2rk3s
@user-ym6ln2rk3s Рік тому
Видео прекрасное, но если убрать тот факт, что пример был придуман специально для демонстрации, мне кажется логичнее было бы оставить только класс Product и добавить в него некий "Type" - такая реализация полностью убирает проблему "индивидуальных скидок"(в Type храним значение скидки например), так еще и позволяет добавлять/удалять/настраивать типы товаров пользователю не меняя код и не трогая разработчика
@israpilakhmedov2347
@israpilakhmedov2347 4 роки тому
Для ещё большей возможности масштабирования, можно добавить класс для скидок с методом расчета и список скидок в продукты, при расчете скидки, линейно пройтись по всем скидкам и отпадает необходимость в переопределении метода расчета скидки. Скидки, скидки и ещё раз скидки.
@andrewgrayson5835
@andrewgrayson5835 6 років тому
Быть программистом оказалось на много сложнее чем я думал. Довольно сложная програмка для моего восприятия, а ведь это один из самых простых примеров.
@chakchaky8521
@chakchaky8521 2 роки тому
Нет, данный пример сложный и вовсе ничего общего с программированием не имеет. Он скорее из области - ЗЫ какую кучу ещё можно наложить на супермодном шарпе чтобы потом твой код никто не смог поддерживать....
@serhiyskaletsky9095
@serhiyskaletsky9095 4 роки тому
(еще бы позже отписал) по выводу на экран, эту проблему решит паттерн Visitor, не очень очевидно и есть куча нюансов но в общем варианте он ее решает
@user-sr4jz7hs9n
@user-sr4jz7hs9n 4 роки тому
10:19 сделать в классе product виртуальный метод Print, который будет переопределяться в дочерних.
@zHenq.0
@zHenq.0 Рік тому
Спасибо
@alikhanaghazade9838
@alikhanaghazade9838 6 років тому
очень жду уроки untiy + c#,все же думаю именно от вас будет лучший курс по этой теме на рунете,не то что там какой нибудь Гоша Дударь,очень жду!!!!!
@CrafterMinecrafter
@CrafterMinecrafter 4 роки тому
И AndroidHelper
@kamrielus
@kamrielus 4 роки тому
Знаю, что 2 года прошло, но всё же) Ты может слышал, может и нет, но они веберы. И, что впринципе логично, время на то, чтобы игрушки делать у них нет т.к. работы и так хватает. Но на ютубе есть канал, Роман Сакутин называется. Там парень, хоть и мудрёно очень, но всё таки довольно круто всё поясняет по теме геймдева. Так что на заметку)
@yatsuk_vitalii
@yatsuk_vitalii 3 роки тому
@@kamrielus Прям понастольгировал с этого коммента. Время когда Сакутин не только обсирал всех, но и чему-то учил
@TheDeatrockerRoom
@TheDeatrockerRoom 2 роки тому
@@kamrielus сакутина смотреть - все равно что смотреть как человек анонирует перед зеркалом на себя. чсвшный тип, смотреть которого противно. Один раз ему замечание сделал, что у него вырвиглазная освещение и цветокор в ролике, так он меня удалил из друзей и заблочил) Как можно рекомендовать такого чела, я хз.
@ihorfedorchuk
@ihorfedorchuk 6 років тому
Наконецто я узнал, что такое полиморфизм.
@nicholasognev8716
@nicholasognev8716 Рік тому
это лучший урок который я видел
@alexanderbenoit6048
@alexanderbenoit6048 6 років тому
Переопределить ToString() для базового класса товаров и для всех дочерних, но в дочерних в начале метода вызывать base.ToString() и к возвращаему результату инкрементировать данные для дочернего класса. И результат этого метода у инстанса класса скармливать в Console.Writeline();
@Ramzes200986
@Ramzes200986 Рік тому
Понятно, тут хорошо объяснил
@moebiys
@moebiys 5 років тому
Тэкс, есть маленький вопрос. Я же правильно понимаю, что метод GetDiscountPrice в Афродизиаках, получается, игнорирует баланс пользователя, определяемый в базовом классе Продукта - то есть, скидка за потраченный баланс пропала, и логика подразумевает, что магазин использует только один тип скидок? То есть, если мы хотим использовать скидку за баланс пользователя после начисления 50% на товар - то юзаем Price = base.GetDiscountPrice(user);, а если сначала применить 50% скидку на товар, а потом учет баланса пользователя - то надо полностью переопределять логику вычисления баланса в Афродизиаках? Когда написал коммент понял, что так оно и задумывалось, но мало ли, у кого еще такой вопрос возник Т_Т Спасибо за видео!
@andrewgrayson5835
@andrewgrayson5835 6 років тому
Чтобы понять это видео, мне пришлось пересмотреть его раз 5, ставить 300 раз его на паузу, проматывать назад, и читать хуеву тучу информации о полиморфизме в других источниках. Но все равно спасибо. Хорошо укрепилась в мозгу эта тема, и я смог понять как пользуются полиморфизмом на практике.
@chakchaky8521
@chakchaky8521 2 роки тому
Согласен. Я тоже для себя это уяснил - руки надо коцать тем, кто такую дичь в коде юзает....
@gastelo007
@gastelo007 6 років тому
respect, bro
@lurkha8507
@lurkha8507 6 років тому
Крутой урок, спасибо! Есть маленький вопрос: на сколько я понимаю, при апкасте свойства класса не пропадают, а просто стают приватными (не точно), так вот вопрос в том, можно ли как-то без явного приведения типа вернуть начальный тип объекту?
@chakchaky8521
@chakchaky8521 2 роки тому
Можно просто архитектуру делать нормальную и тогда даже вопроса такого не будет возникать)
@lurkha8507
@lurkha8507 2 роки тому
@@chakchaky8521 Пинг длинной в 3 года?
@softed
@softed Рік тому
@@lurkha8507, ну он же тут не 3 года сидел чтобы тебе ответить.
@alexbelov6287
@alexbelov6287 2 роки тому
Годнота
@dvdrelin
@dvdrelin 4 роки тому
Шикарный канал.. хоть и поздно, но чиркану: за домашку все просто, переопределяем public override ToString() у базового для всех производных типов, выводя общие поля, и оверрайдим нужное по нужным свойствам в нужных потомках... Вуаля, ёптыть)
@bohdanzhylavskyi7341
@bohdanzhylavskyi7341 5 років тому
харош, и конский возбудитель тоже харош
@vitaliisolonenko1123
@vitaliisolonenko1123 4 роки тому
ОГОНЬ)))))))
@murosekai
@murosekai 5 років тому
Конский возбудитель, пожалуйста!
@uruk1239
@uruk1239 2 роки тому
Можете помочь? Исходя из определения полиморфизм подтипов - это свойство системы, позволяющее использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта. Но как из этого определения вытекает тот факт, что с помощью полиморфизма мы изменяем реализацию методов родительского класса?
@iXNomad
@iXNomad Рік тому
"Использовать объекты с одинаковым интерфейсом". Интерфейс это по факту и есть абстрактный класс. Мы же не создаём просто "товар". Поэтому и сигнатура метода должна быть одинаковая.
@algarud
@algarud 4 роки тому
А запили про то, как такие товары лучше в базе хранить.
@user-ix4cm7ch5z
@user-ix4cm7ch5z Рік тому
я думал не знал что это такое ,посмотрел ролик ,да емое я этим же пользовался выходит сколько раз хD
@vinin3
@vinin3 4 роки тому
для лучшего масштабирования Product лучше сделать интерфейсом , вместо наследования применять композицию, ввести еще 1ну сущность DiscountRule , в продукте сделать ссылку на него (можно еще улучшать конечно). Основная идея моего посыла: ИЗБЕГАЙТЕ наследования когда это возможно!
@iXNomad
@iXNomad Рік тому
Мне кажется не вариант. Если нам нужны не только абстрактные методы, но и поля - тут интерфейс не пойдёт. Писать в каждом классе-потомке отдельно реализацию - тоже бред, зачем это надо, если у нас есть "общее" поведение для всех. Абстрактные классы, интерфейсы, наследование - это всё сделано для упрощения работы программиста. Для лучшей, более простой и логичной структуры кода, для более удобной поддержки и расширяемости проекта.
@alexandrsargsyan2202
@alexandrsargsyan2202 Рік тому
Классно
@nightyonetwothree
@nightyonetwothree 2 роки тому
зашёл чего-нить узнать про програмирование, научился бизнесу (особенно урок№2 хорош)
@sevagermanyuk3202
@sevagermanyuk3202 4 роки тому
А для того, чтобы сделать скидку на товары какого-то производителя нужно будет сильно менять архитектуру, или с этой можно как-то разумно выкрутиться?
@user-mo3jt5uy9w
@user-mo3jt5uy9w 3 роки тому
Ставить if на производителя в самом конце, видимо
@chakchaky8521
@chakchaky8521 2 роки тому
Для гибких систем скидок издается discount_rules, которые вынимаются списком в зависимости от товара/юзера/погоды на луне и потом по этим правилам считается скидка.
@vitaliktrebko6436
@vitaliktrebko6436 4 роки тому
Создать класс Data, потом запихнуть по методам каждую строчку, с входящими данным user, а после создать делегат, вставить всё методы в телегат и вызывать его одного
@DrAkyla1123
@DrAkyla1123 3 роки тому
У вас тут баг. 5:08 Проверка на возможность покупки не учитывает скидку. Таким образом, если товар стоит 700, со скидкой стоит 600, а у пользователя баланс 650, код не позволит ему купить этот товар
@softed
@softed Рік тому
Считай что скидка это просто кешбек
@user-yi9tq7xg2w
@user-yi9tq7xg2w 6 років тому
Эй , а видоисики по паттернам будут?
@Army_of_Earth
@Army_of_Earth 6 років тому
Я думаю, что в мейне не нужно делать проверку на наличие денег у клиента. Это должен проверять метод Buy и возвращать PurchaseError, если денег нет (или на худой конец String), с описанием ошибки. Если null, значит, покупка совершена успешно. Мейн не должен разбираться в том, что не входит в его обязанности, иначе этот Buy можно реализовать прямо в мейне "без ущерба" коду.
@DlinnyLag
@DlinnyLag 4 роки тому
8:24 - это не норма, а следствие нарушения S из SOLID
@antonmanin3521
@antonmanin3521 2 роки тому
а как это можно исправить?
@DlinnyLag
@DlinnyLag 2 роки тому
@@antonmanin3521 Сделать discount отдельной сущностью, например. Так же ещё пример нарушения SRP - засунуть поля посторонних сущностей (balance лучше положить в Account и spent - в PurchasesHistory, а то и вовсе вычислять, а не хранить) в User'а, как на 0:48. С названиями сущностей можно не соглашаться, но то что в юзера суют всё подряд - довольно распространённый пример нарушения SRP.
@chakchaky8521
@chakchaky8521 2 роки тому
Ты им ещё про поле product_type_id расскажи) думаешь им нужна простота? Тут надо показать как клёва шарит Шарп делать мега сложный код для мегаумных пасанов)
@SAMVELKAZARYAN
@SAMVELKAZARYAN 3 роки тому
Как вариант можно переопределить в дочерних классах Product метод ToString() и вывести инфу
@user-vb8iq1bs2v
@user-vb8iq1bs2v Рік тому
Я бы использовала вывод массива products через foreach.
@Rih4rd_dota
@Rih4rd_dota 4 роки тому
#define роспечатай Console.WriteLine и должно получится роспечатай("Афродизиак:"); роспечатай("Название: ") + HorsesAphrodisiacs.Name ... profit?
@oganovdavid
@oganovdavid 6 років тому
переопределение метода ToString() решит задачку (но это неточно) :D
@UnrealSPh
@UnrealSPh 5 років тому
А попробуй сделать скидки не на категорию товара, а на определенное кол-во элементов товара из одной категории)) писать логику внутри самого объекта - плохая затея)) это всё надо выносить в Manager/Service
@chakchaky8521
@chakchaky8521 2 роки тому
Та в нормальной архитектуре этот полиморфизм и нафиг не надо, Так что твой комментарий не уместен.
@gloomkol
@gloomkol 6 років тому
Сойдет.
@IZIBRIZIplay
@IZIBRIZIplay 3 роки тому
4:55 умер со смеху))))
@DREAMPLAY_show
@DREAMPLAY_show 6 років тому
Добавил в "Бате" виртуальный метод Print() {общие характеристики} , в "пи%дюках" переопределил метод -если нужно добавить специфическую характеристику, ну или же оставил как и есть (если не нужно нечего добавлять) , и через For уже вызвал просто метод Print(); думаю проще варианта нет 8) но.. возможно и есть )
@angrytaigafox
@angrytaigafox 6 років тому
Этот урок был для меня божьим откровением.
@Raventus100
@Raventus100 6 років тому
Откровение как делать бизнес?:)
@angrytaigafox
@angrytaigafox 6 років тому
Андрей Колдырев как правильно кодить.
@liko8019
@liko8019 3 роки тому
строка if (products[productNumber].Price < User.Balance) в классе програм, User.Balance нужна ссылка на объект, почему?
@SSpirite
@SSpirite 6 років тому
А если перегружаемый метод не будет иметь модификатор virtual?
@deniskalini3641
@deniskalini3641 4 роки тому
Заебись, пользуюсь апкастом уже неделю, интуитивно.. только сейчас узнал что это
@chakchaky8521
@chakchaky8521 2 роки тому
Каломет детектэд)
@vadimdamour7704
@vadimdamour7704 4 роки тому
одна незадача: раз продавец сделал скидку 50% на товар или группу товаров она и должна выводиться на консоли в строке с ценой. но там выводится цена до скидки видимо для наглядности. это конечно же легко допилить.
@user-xm3ue3nc5x
@user-xm3ue3nc5x 3 роки тому
1:57 - у нас тут сексшоп с элементами работорговли)
@impnumb5713
@impnumb5713 5 років тому
Где купить конский возбудитель?
@linameou
@linameou 2 роки тому
Я ЛЮБЛЮ ПОЛИМОРФИЗМ ПОДТИПОВ!
@gastelo007
@gastelo007 6 років тому
Сделал на гондолы скидку, а проверка баланса то идет до дисконтирования цены, это шляпа
@kovesik
@kovesik 6 років тому
мудро, бро!
@user-fb3zd3ix2o
@user-fb3zd3ix2o 3 роки тому
@@cpucooler как он его купит в другом магазине, если не может выйти из этого?
@user-fb3zd3ix2o
@user-fb3zd3ix2o 3 роки тому
@@cpucooler это была отсылка к шутке из видео; смайлик не поставил, предположив понятность этого. А так да, если нет выхода - выйти нельзя, придётся в магазине.
@user-fb3zd3ix2o
@user-fb3zd3ix2o 3 роки тому
@@cpucooler да, видел. Хорошего дня!
@Azbul96
@Azbul96 6 років тому
Поясните пож-та один момент: каким образом получается доступ к уникальным параметрам (свойствам) предметов-наследников через тип Product (ну когда идет обращение через массив products к экземплярам), разве это не инкапсуляция при апкасте, как в этом видео? ukposts.info/have/v-deo/qYl7jJVorIN8w2Q.html
@me_000_xXx
@me_000_xXx 4 роки тому
ох мля, я стал догонять
@agweprint27
@agweprint27 3 роки тому
А последние строки кода можно свичём выбирать?
@borysshkliar9570
@borysshkliar9570 4 роки тому
А метод buy в informer это нормальная практика?Вроде ж как-то не по солидовски? з.ы. спрашиваю чтобы разобраться
@chakchaky8521
@chakchaky8521 2 роки тому
В этом ролике солидом и не пахнет) ролик не о том). Пример этот для того, чтобы просто показать как наваливают кучу в код крутые проггеры с умным видом)
@user-tt8ok4uw1z
@user-tt8ok4uw1z 2 роки тому
Вроде сначала нужно посчитать сумму со скидкой, а уже потом проверять хватит ли на это у человека денег. А в остальном, огонь!
@kekscss
@kekscss 4 роки тому
Ох#енно!
@pOfUgiStIk
@pOfUgiStIk 6 років тому
А каким образом можно сделать так , что бы можно было товары и пользователей добавлять из коносоли.
@N5O1
@N5O1 2 роки тому
про крестик и автозагрузку, сука жиза. прям за живое
@JohnDoe-cp3co
@JohnDoe-cp3co 4 роки тому
Супер, ребят, обожаю ваши видео. Жаль больше половины контента написаны на парашной решетке
@chakchaky8521
@chakchaky8521 2 роки тому
Поддерживаю) лучше бы на crystal-lang примеры писали.... Там хоть синтаксис посвежее) и такие же кучи можно наваливать тоже на изи)
@makaroningable
@makaroningable 4 роки тому
Прекрасный юмор. Помогает скрасить суровую жизнь в кровавом энтерпрайзе.
@kaz_breaker
@kaz_breaker 3 роки тому
Когда пишешь на питоне и у тебя всё виртуально
@vitaliksandalik4489
@vitaliksandalik4489 Рік тому
трек?
@Ramzes200986
@Ramzes200986 Рік тому
давай пример с интерфейсами
@user-dc4bj6zk6z
@user-dc4bj6zk6z 3 роки тому
Все ок, ну смысл писать в ручную Console.Wrig... милион раз для одного объекта если можно сделать ToString() и перегрузкой в каждом классе допилить его. Так же по логике класс Product желательно бы сделать абстрактным.
Интерфейсы на практике
7:34
ExtremeCode
Переглядів 176 тис.
ШАХТАР - ДИНАМО. КОМЕНТУВАННЯ. УПЛ. 28 ТУР
4:04:31
Nemo - The Code (LIVE) | Switzerland🇨🇭| Grand Final | Eurovision 2024
03:28
Eurovision Song Contest
Переглядів 12 млн
Удаленная работа - не делай ошибок!
13:03
ExtremeCode
Переглядів 243 тис.
Интерфейсы в Python
14:45
Денис Бречка
Переглядів 6 тис.
Есть только 3 ситуации для РЕКУРСИИ
10:03
Прекрати задрачивать алгоритмы
7:46
ExtremeCode
Переглядів 151 тис.
Шокирующая правда о программировании
11:06
Принципы ООП. 3. Полиморфизм
9:04
Sergey Nemchinskiy
Переглядів 137 тис.
Циклы криво реализованы. И вот почему.
8:10
ШАХТАР - ДИНАМО. КОМЕНТУВАННЯ. УПЛ. 28 ТУР
4:04:31