Интерфейсы на практике

Sdílet
Vložit
  • čas přidán 16. 04. 2017
  • А у нас тут новый видос подъехал. Разбираемся, что к чему с интерфейсами на практике.
    ► ► ► ► ► ► ►
    Код с примерами (gitHub): github.com/nickolasKrayn/inte...
    ► ► ► ► ► ► ►
    Код с примерами (Яндекс Диск): yadi.sk/d/2QbNUgpB3H5qq7
    ► ► ► ► ► ► ►
    Ролик с теорией: • C# - Интерфейсы (Inter...
    ► ► ► ► ► ► ►
    VK: extremecodetv

Komentáře • 190

  • @oganovdavid
    @oganovdavid Před 7 lety +589

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

    • @user-rz3cl1qx8q
      @user-rz3cl1qx8q Před 4 lety +1

      поддерживаю что молодец.

    • @Nikodimification
      @Nikodimification Před 2 lety +1

      щас бы самим себе коменты писать под видео

    • @oganovdavid
      @oganovdavid Před 2 lety +1

      @@Nikodimification лол, я их верный подписчег. И т.к. сам пишу на С# могу их рекомендовать. Можешь думать что хочешь)

  • @stylendr
    @stylendr Před 7 lety +215

    Так вот кто северокорейскую ракету кодил..

  • @Dentair
    @Dentair Před 4 lety +37

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

  • @user-ec6ot3zk1p
    @user-ec6ot3zk1p Před 5 lety +1

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

  • @erma4ellaeu183
    @erma4ellaeu183 Před 7 lety +9

    Спасибо за уроки :D Только после видосиков начал вкуривать C# Все коротко, понятно и доступно) Жду видео про делегаты с событиями))

  • @user-mm5ln4qh5q
    @user-mm5ln4qh5q Před 3 lety

    Обожаю этот канал, просто обожаю все эти рофлики)))

  • @azazalalka123123
    @azazalalka123123 Před 6 lety +137

    Чёт не понял, а чё так годно то? где Hello world через интерфейсы

  • @doublegrey.broken
    @doublegrey.broken Před 7 lety +8

    вы просто лучшие)

  • @AlexBradley123
    @AlexBradley123 Před 7 lety +30

    Кстати, помимо прочего, интерфейсы могут юзаться для выполнения одних и тех же действий совершенно различными классами. Представим что у нас есть котёнок, гусеница, танк и самолёт. Что у них общего? Они все могут двигаться. Соответсвенно, кроме собственно, возможностей движения у них общего довольно таки мало, так что можно использовать интерфейс IMove. Если всё это реализовывать через абстрактный класс, получится дичайшая помойка.) А уроки очень крутые и сделаны с душой, спасибо.)

    • @HerrHoldem
      @HerrHoldem Před 4 lety +3

      Спасибо, этого объяснения мне не хватало

    • @sergs2919
      @sergs2919 Před 3 lety

      а если реализовать через наследование от класса Rocket? порядок вполне сохранится.. Если у прогера в голове помойка то и получится тоже самое и не зависит это от интерфейса. Это имеет смысл если только в классе интерфейсов несколько, а не как у автора в примере один)

    • @AlexBradley123
      @AlexBradley123 Před 3 lety

      @@sergs2919 ну, пример на то и пример. Преимущество интерфейса над абстрактным классом - ты можешь реализовать сколь угодно много интерфейсов. Множественного наследования в C# нет.

    • @nightyonetwothree
      @nightyonetwothree Před 2 lety

      @@sergs2919 а если ты хочешь структуру? Структуры могут реализовывать интерфейс, но не могут наследоваться от классов/структур. Впили в ракету движок-структуру - и полетит так же.

    • @sergs2919
      @sergs2919 Před 2 lety

      @@AlexBradley123 множественного наследования классов нет , интерфейсов есть

  • @MrKiller-jk5el
    @MrKiller-jk5el Před 8 měsíci

    Господи, наконец то я понял зачем они нужны. Сколько раз смотрел разные видосы, хрен понятно. Кроме того, что нужно определить функции. Спасибо большое!

  • @vozleptichki
    @vozleptichki Před 4 lety +1

    Все понятно, спасибо огромное) просмотр был очень познавательным, интересным и легким))))

  • @-anonim-3008
    @-anonim-3008 Před rokem

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

  • @user-cw1bc2tg3q
    @user-cw1bc2tg3q Před 2 lety +1

    Братан хорош!! Давай вперед!! Контент в кайф. Можно еще? Вообще красавчик! Можно вот этого почаще.

  • @dmytrovietsu4224
    @dmytrovietsu4224 Před 7 lety +4

    Как и всегда ТОП!!

  • @user-tn3bw1wg8w
    @user-tn3bw1wg8w Před 5 lety +1

    Нравятся подача) материал годный, подписался)👍🔥

  • @bombilovka16gd17
    @bombilovka16gd17 Před rokem

    Спасибо огромное, очень помог!) Всех благ тебе!

  • @turboboy8049
    @turboboy8049 Před 3 lety

    Наконец-то разобрался и активно юзаю, спасибо, уважаемые

  • @user-qx2mz8py6i
    @user-qx2mz8py6i Před 5 lety

    Все доступно рассказал и доходчиво

  • @user-sc2yd3fw1e
    @user-sc2yd3fw1e Před 3 lety

    годное , понятное видео . СПАСИБО !

  • @krasser650
    @krasser650 Před 4 lety +1

    Спасибо, зачетно! Хотелось бы взглянуть на класс бронетехники в World of Tanks. Вот где раздолье для интерфейсов : движки, орудия, ходовая , экипажи и т.д.

  • @ChaoticWhirl
    @ChaoticWhirl Před 3 lety

    Спасибо большое, было очень понятно!

  • @fidelcastro3223
    @fidelcastro3223 Před 4 lety

    Очень доступное и понятно видео

  • @mazZZzilaplayer
    @mazZZzilaplayer Před 6 lety

    С CryEngine в шепот. Кстати, очень хотелось бы ткнуть носом в то, что в сносках было написано IEngin, но после недавнего стрима в курсе, что эти ошибки специальные. Хитрецы. Лайк

  • @stan5214
    @stan5214 Před 5 lety +23

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

  • @1pavka
    @1pavka Před 2 lety

    Хоть и не без претензий, но это очень хорошо. Одно из лучших среди всех объяснений. Только я бы его перевернул задом наперед, один фиг все важные слова с 7 минуты

  • @angelldark6426
    @angelldark6426 Před 2 lety

    Спасибо, прикольна ))
    мне понравилось

  • @ulyana_khr
    @ulyana_khr Před 3 měsíci

    Спасибо, разобралась и поугарала 😅

  • @user-rt4ld1yo7h
    @user-rt4ld1yo7h Před 4 měsíci

    Реально выручил!!

  • @ramil9209
    @ramil9209 Před 3 lety

    Озуеные шутки) красава, продолжай, примеры в точку

  • @mikedastro2930
    @mikedastro2930 Před 6 lety

    Лучший канал на Ютубе

  • @ASKOLDEX
    @ASKOLDEX Před 6 lety +23

    Ставь лайк если знал как юзать интерфейсы, но посмотрел чтобы проорать с мемосов

  • @amir_ibragimov
    @amir_ibragimov Před 2 lety

    ахах, почему мне так смешно и мило с этого кота в начале)?

  • @denisrudenko1003
    @denisrudenko1003 Před 4 lety

    Доходчиво и с юмором, давай ещё!👍

  • @vadimlakei9027
    @vadimlakei9027 Před 5 lety

    Благодарю!

  • @404Negative
    @404Negative Před 5 lety +1

    оценил отсылку к Аршавину. было очень смешно. спасибо.

  • @djodik1402
    @djodik1402 Před rokem

    Круто!

  • @guardofazeroth4586
    @guardofazeroth4586 Před 7 lety +22

    Когда стрим я со школьных обедов сэкономил буду вам донатить!!

    • @ExtremeCode
      @ExtremeCode  Před 7 lety +8

      Ориентировачно с лета (но это не точно)

    • @AlexM-gn7bp
      @AlexM-gn7bp Před 7 lety +1

      Присоединяюсь, хотя данный материал для начинающих, но идея мне нравится. Плюс хотел бы добавить чтобы вы в обучалках учили не использовать "магические цифры" типа 82 или 200. Я думаю Вы понимаете о чем я, что бы ряды говнокодеров пополнялись значительно реже.

    • @yarosyari3516
      @yarosyari3516 Před 6 lety +5

      я украл 300 рублей училки в сумке когда стрим буду донатить!

    • @user-mm5ln4qh5q
      @user-mm5ln4qh5q Před 3 lety +1

      @@AlexM-gn7bp я тебя не совсем понял. В смысле "магические цифры"? Что в них такого?)

  • @siersh6934
    @siersh6934 Před 3 lety +1

    Метод SpecialNasaMethod нам выдал Роскосмос. Ну да ну да

  • @WhoIntrestingIn
    @WhoIntrestingIn Před rokem

    Не понимал, зачем оно надо, а потом как понял)

  • @DrMad135
    @DrMad135 Před 4 lety

    Очень годно!

  • @user-dm4jn2jg4p
    @user-dm4jn2jg4p Před 7 lety +2

    оригинальный подход:) Смотрел с улыбкой. Вобщем очень понравилось и наконец разобрался накой нужны интерфейсы. А еще понравилось возможность сравнить код программ с интерфейсам и без.
    Кстати о программах (скачал с ГитХаба).
    У СВОЙСТВ ДВИЖКОВ СЕТТЕРЫ ОТСУТСТВУЮТ!!!. Как итог программы не компилятся.

    • @ExtremeCode
      @ExtremeCode  Před 7 lety

      У вас, походу версия фреймворка не подходящая
      savepic.ru/14110779.png

    • @user-dm4jn2jg4p
      @user-dm4jn2jg4p Před 7 lety

      Очень даже может быть:) стоит 4.5
      savepic.ru/14121022.png
      "error CS0840: InterfacesPart2.YriyLozaEngine.Weight.get должен декларировать тело, так как оно не отмечено как абстрактное или внешнее. Автоматически реализованные свойства должны определять функции доступа get и set."

    • @user-bu1wk8ir5v
      @user-bu1wk8ir5v Před 4 lety

      Из чайников придется переходить во что нибудь другое и висеть ,висеть..

  • @user-lt7cf5qq8j
    @user-lt7cf5qq8j Před 6 lety +1

    Отлично. Наконец то кто-то адекватно объяснил что такое интерфейс.

  • @FPV777
    @FPV777 Před 3 lety

    Афигенно йопта. Лойс.

  • @jiln3hb
    @jiln3hb Před rokem

    спасибо!

  • @choopa-choops
    @choopa-choops Před 4 lety +3

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

  • @darsigovrustam
    @darsigovrustam Před 5 lety +10

    Может я конечно не догоняю, но подскажите пожалуйста. В примере говорится, что без интерфейсов придется постоянно снова реализовывать классы разных ракет. Интерфейсы же помогают стандартизировать все это дело и заменять в одной и той же ракете двигатели. Но как же наследование? Можно же создать класс ракеты, а уже от нее наследовать все другие ракеты. Просто не могу понять, чем тут интерфейс сильно выиграет.

    • @votchinaMF
      @votchinaMF Před 2 lety +4

      Возможно получится так, что твой дед разберёт эту ракету, достанет из неё двигатель и заведёт от него свой мопед, однако такая реализация у тебя невозможна:(
      Если же использовать интерфейс, то двигатель будет отдельной сущностью, которую можно запихнуть не только в ракету

    • @anxl2191
      @anxl2191 Před rokem +1

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

    • @vehiclesailboat
      @vehiclesailboat Před rokem +1

      @@anxl2191 ну как раз интерфейсы и подразумевают необходимость (ыщыщыщ!) реализации этих методов в каждом конкретном классе-наследнике.
      И что ещё важно - для интерфейсов разрешено множественное наследование.

  • @MrCher666
    @MrCher666 Před 11 měsíci

    аххахаха хорош, мне понравилось видео)

  • @Garneg
    @Garneg Před 3 lety

    Чётко

  • @Inignalf
    @Inignalf Před 4 lety

    Большое спасибо! Пока что многое становится понятней ))) может быть и я научусь когда-нибудь программировать, а не тупо писать хранимые процедуры

  • @gloomkol
    @gloomkol Před 7 lety +12

    Норм. Жду лайк от вас.

  • @anarmammadhasanov7987
    @anarmammadhasanov7987 Před 3 lety

    vpolne krasivo

  • @AndronCollider
    @AndronCollider Před 3 lety

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

  • @nezajac
    @nezajac Před 4 lety

    Спасибо

  • @andruha1812
    @andruha1812 Před rokem

    спасибо

  • @andrewk3802
    @andrewk3802 Před 7 lety +4

    Го видос про DI

  • @user-fc9bl4lm6b
    @user-fc9bl4lm6b Před 7 lety

    Го следуъщий видос по абстрактным классам и их отличиям от интерфейсов

  • @ivannebyshynets8829
    @ivannebyshynets8829 Před 3 lety

    Найсович!

  • @iXNomad
    @iXNomad Před 2 lety +1

    Короче, объясняю для тех, кто не понимает (я тоже долго не понимал).
    Зачем нужны интерфейсы, если можно всё запихнуть в классы?
    На самом деле интерфейсы позволяют сделать программу гибкой, модульной. Если вы что-то написали, то с помощью интерфейсов вы можете на изичах добавлять/изменять новые фичи, например, вы пишете основную часть программы, ваш друг-программист пишет какую-то подсистему, вы просто пишете интерфейс, он пишет под него свой модуль, который вы подключаете потом на изичах. Потому что программа уже знает, что этот модуль должен делать, вам не нужно вообще ничего переписывать, просто подключить его.
    Можно вертеть всем как захочется, менять целые куски программы по необходимости, добавлять новые фичи без необходимости переписывать половину кода.
    Та же самая фишка с совершенно разными объектами, у которых должны быть какие-то общие свойства, но это наследование будет в этом случае извращением, например, они должны обновляться каждый кадр. Незачем пихать сюда целое обычное наследование, можно просто реализовать интерфейс, условно Updateable, и не нужно будет по миллиону раз писать один и тот же код.
    Так что да, хотите гибкости в разработке, интерфейсы - ваши лучшие друзья.

    • @Vov4ik048
      @Vov4ik048 Před 2 lety

      Почему бы тогда не использовать Абстрактный класс ?

    • @iXNomad
      @iXNomad Před 2 lety +1

      @@Vov4ik048 в Java например не работает множественное наследование. А интерфейсов можно реализовывать сколько хочешь.

  • @dmvLex
    @dmvLex Před 3 lety

    Все не понимал,нахуя нужны интерфейсы.
    Теперь все понял.
    Спасибо

  • @pavelsukhina7209
    @pavelsukhina7209 Před 4 lety

    Супер\

  • @oleksijm
    @oleksijm Před 4 lety

    Экстрим кот тэвэ!

  • @themaither1383
    @themaither1383 Před 3 lety +1

    Любая вилка может быть движком
    главное чтобы она реализовала интерфейс

  • @IvanReshetov
    @IvanReshetov Před 7 lety +6

    ой CryEngine, ой ржу не могу)

  • @brianshoubert7803
    @brianshoubert7803 Před 3 lety +1

    Программная сущность в виде гномика

  • @0arcanus0
    @0arcanus0 Před 7 lety +13

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

    • @ExtremeCode
      @ExtremeCode  Před 7 lety +94

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

  • @yuriyparamonov1965
    @yuriyparamonov1965 Před 4 lety

    Бля чувак єто охуєно. Смотрететь на фоне пока работаєш то что надо

  • @VitaliyNET
    @VitaliyNET Před 4 lety

    Аки конь ржу))

  • @TheDron84
    @TheDron84 Před 6 lety +2

    Тут можно же заменить интерфейс IEngine на абстрактный класс? На сколько я всосал эти две темы, то по отношению к данному примеру оно будет аналогичным. Абстрактный класс Engine тоже ведь обобщает все двигатели в себе. И от него может наследоваться класс HatersEngine.

    • @ve1c0m
      @ve1c0m Před 6 lety

      Да, можно, и даже правильней будет, т.к. "двигатель" это абстракция, а остальные конкретные двигатели её реализации. А интерфейсы нужно использовать как "контракт" или "соглашение" о чём-либо, например интерфейс "перемещения в пространстве"(птичка летает, человек идет, червяк ползёт, рыбка плывёт, самолет летит) действия одни и те же, но сущности разные.

  • @seniorHelloWorldDeveloper

    SpecialNasaMethod, а прислали из Роскосмоса)

  • @TedFanat
    @TedFanat Před 4 lety

    Стратегия на практике + property injection))

  • @nonameforest9923
    @nonameforest9923 Před 4 lety +2

    Мы просто могли создать абстрактный класс и всё

  • @spacerecluse
    @spacerecluse Před 3 lety

    оу, даже красную плесень вспомнили ...

  • @jozakatkin
    @jozakatkin Před 3 lety

    Немного дров и код готов

  • @MrCursedsin
    @MrCursedsin Před 6 lety

    У Вас в скаченном примере кода, лишние записи о Start, Stop, условия для них не выполняются. Ракеты все равно полетят.

  • @workshopoleg5661
    @workshopoleg5661 Před 4 lety

    Экстрим код лучше любой водяры!

  • @sergbo5509
    @sergbo5509 Před 5 lety +1

    Мощность двигателя, или сила тяги, в ракетных движках измеряется в Ньютонах. Еще в характеристиках есть ISP по нашему удельный импульс, отражает скорость вылетающих из двигателя частиц(продуктов сгорания), по тому как энергия расчитывается как масса умноженная квадрат скорости то все это отражается на эффективность расхода топлива. Т.е. зная ISP можно посчитать сколько топлива в секунду для работы двигателя который обеспечит заданную реактивную тягу. И чем выше значение ISP тем эффективнее двигатель. А зная тягу двигателя и массу ракеты можно вычислить ускорение с которой она может ускоряться, а зная количество топлива можно еще и узнать время работы двигателя и вообще получить максимальную дельту скорости которую может обеспечить данная ракета. Короче программирование это вам не космические корабли запускать!))

    • @user-er9ev7vf1h
      @user-er9ev7vf1h Před 2 lety +1

      я думал, что это я душный, пока не прочитал этот твой коммент..

  • @user-wb6hi9my1m
    @user-wb6hi9my1m Před 6 lety +29

    Чот вспомнился движок CryEngine :D

    • @TrOll-cr1gf
      @TrOll-cr1gf Před 4 lety +2

      Почему?

    • @BYGUR
      @BYGUR Před 4 lety +7

      @@TrOll-cr1gf потому что он тоже работает на силе слез фанатов российской сборной

  • @SheWasTheOneWithTheBrokenSmile

    Не понял почему Engine нельзя сделать базовым абстрактным классом и наследовать от него новых Engine'ов

  • @nezajac
    @nezajac Před 4 lety

    Я 10 раз пересматривал это видео, а еще другое видео 20 раз, при этом читал книгу Шилдта и практиковал знания в студии и наконец меня озарило нахрена нужны интерфейсы, но я до сих пор не знаю как писать приложения. Читать книгу дальше?

  • @anatoliy9696
    @anatoliy9696 Před 6 lety +2

    Не как не пойму зачем тут интерфейсы если можно было сделать абстрактный класс с разными производными классами двигателей ?
    Единственное могу предположить если у нас есть несколько типов двигателей ракетные, паровые, ядерные и т.д. То да можно этим двигателям реализовать интерфейс и подставлять любой двигатель.
    Я так понял предназначение интерфейсов приводить разные объекты к одному типу ?

    • @404Negative
      @404Negative Před 5 lety +1

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

  • @dmytrovolynets
    @dmytrovolynets Před 6 lety

    Когда осознаешь, что не понимал таких важных вещей - осознаешь так же, какое ты криворукое дно))) Спасибо, видосик зачётный)

  • @sashikshik
    @sashikshik Před 4 měsíci +1

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

  • @qwertymangames1800
    @qwertymangames1800 Před rokem +7

    Тема не раскрыта. Главного не сказал. А что мешает использования родительский класс Engine от которого наследуются другие движки? По сути разница минимальна.
    В этом примере действительно есть смысл реализовывать через интерфейс, а не через наследование?

  • @KaNaLVASI
    @KaNaLVASI Před 4 lety +2

    Тэк, а теперь говорите мне почему IEngine не мог быть абстрактным классом и так же прекрасно апкаститься?

  • @z0dlak380
    @z0dlak380 Před 2 lety

    Интерфейсы ещё немного юзабельны в рефлексии, вытянув какой-то тип в виде object, можно привести его к интерфейсному типу и юзать методы, которые определены в этом интерфейсе. (Вместо ебучего dynamic, СУКА С# это строго-типизированый язык) Но надо быть очень аккуратным, тк нужно точно быть уверенным, что мы можем привести тот или инной объект к тому или иному интерфейсу

  • @nikitabeletskiy
    @nikitabeletskiy Před 4 lety

    Бля вы лучшие)

  • @aidosbatyrkulov3272
    @aidosbatyrkulov3272 Před 5 lety +2

    Class

  • @GrEzzTROL
    @GrEzzTROL Před 4 lety

    \o/

  • @alex63271
    @alex63271 Před 2 lety

    А теперь, например нужно эти ракеты задокументировать в электронном виде. И сериализация в xml с интерфейсами не пашет.. увы(((

  • @dmitriy1289
    @dmitriy1289 Před 5 lety

    Ржу
    Нимагу

  • @user-iy7eq2ym3g
    @user-iy7eq2ym3g Před 3 lety

    Двигло с данным типом топлива не то,что до Альфа-центавры долетит,он способен облететь всю вселенную,таща за собой всю планету.

  • @user-er5ul5ib6m
    @user-er5ul5ib6m Před 7 lety +1

    Почему вместо архива не расшарить ссылку с кодом, например на гитхабе. Намного же проще было бы исходник просмотреть, + не нужно скачивать/разархивить/запускать студию.
    А так за видос спасибо, как всегда круто

    • @ExtremeCode
      @ExtremeCode  Před 7 lety

      Действительно, вы правы. Добавил в описании ссылку на гитхаб.

  • @WoolfStyle
    @WoolfStyle Před 6 lety +2

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

    • @WoolfStyle
      @WoolfStyle Před 5 lety +3

      @Eugene Borisik Я приебался к тому, что он сам себе велосипедов нагородил. Сделал два шага путем кувырка назад и приседаний (шоб понятнее было)

  • @mikhailchekavyj4592
    @mikhailchekavyj4592 Před 2 lety

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

  • @barisraeli2378
    @barisraeli2378 Před 4 lety

    Кто-нибудь может подсказать какой паттерн тут реализуется ?

  • @MATVEICH
    @MATVEICH Před 2 lety

    Аааа у ракетного двигателя есть несколько параметров: тяга, удельный импульс и масса

  • @mrspacer1
    @mrspacer1 Před 7 lety +4

    Айпро, Мистерио поставьте лайк если видите меня

  • @lit1041
    @lit1041 Před 4 lety +3

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

    • @me_000_xXx
      @me_000_xXx Před 4 lety

      прост. для иаслят это сложно. и немножк уход в сторону.

    • @lit1041
      @lit1041 Před 4 lety

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

    • @user-vc8yo6pk2u
      @user-vc8yo6pk2u Před 4 lety

      Вот вам другой пример, допустим вам нужен ковёр. Есть два способа его получить 1) Обратиться к классу МастерТкач 2) Обратиться к классу АвтоматезированныйТкацкийСтанок. От какого абстрактного класса наследуются эти два конкретных?(теоретически это возможно, но следует взять невероятно высокий уровень абстракции, не имеющий никакого смысла). Но оба этих класса реализуют интерфейс IполучитьКовёр. Абстрактные классы нужны чтобы передать наследникам часть своей структуры, интерфейсы нужны для закрепления одинаковой роли классов в коде, несмотря на абсолютна разные реализации.

    • @lit1041
      @lit1041 Před 4 lety

      @@user-vc8yo6pk2u Блин, вот пример, кроме которого у меня ничего на ум не приходит: есть интерфейс IGetObject, в котором будет метод getObject, который будет возвращать объект с типом object. Потом можно будет получить нужный класс с помощью оператора as. Но разве это все, на что способен интерфейс?

  • @Skvorec2010
    @Skvorec2010 Před 5 lety

    охуенно

  • @Rostik-pk1ik
    @Rostik-pk1ik Před 4 lety

    Почему ты это не сделал принципом ООП, а то смотрю все в одну строку