Что такое ООП? Самое простое объяснение в интернете

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 มิ.ย. 2024
  • Термин ООП часто встречается в программе учебных курсов. Надо это вам, о чем это, сможете ли вы понять? - Только часть вопросов, которые возникают в голове. Сегодня объясняю, что такое ООП для новичков.
    Курс о котором говорит Сергей: 🎓C# START - go.foxminded.ua/3IWJmhN
    Есть вопросы по обучению в FoxmindEd? Пишите нам в телеграм - t.me/foxminded
    Принципы ООП. 1. Инкапсуляция - • Принципы ООП. 1. Инкап...
    Принципы ООП. 2. Наследование - • Принципы ООП. 2. Насле...
    Принципы ООП. 3. Полиморфизм - • Принципы ООП. 3. Полим...
    📵10 ошибок в поисках работы программистом, которые тормозят вас в получении оффера - • Это тормозит программи...
    Вы можете стать спонсором канала и получать плюшки - / @sergeynemchinskiy
    ❤ FoxmindEd в Instagram: / foxminded.ua
    🎓Стартовые курсы (перед менторингом):
    JAVA Start - go.foxminded.ua/3Xpo7JU
    Инструментарий JAVA - go.foxminded.ua/3XoHOS2
    PYTHON Start - go.foxminded.ua/3krE0B0
    JavaScript Start - go.foxminded.ua/3kxFoC0
    🎓 Менторинг:
    JAVA - go.foxminded.ua/3XqUc48
    PYTHON - go.foxminded.ua/3iQit4G
    C#/.NET - go.foxminded.ua/3XjC8sC
    ANDROID - go.foxminded.ua/3XCiI1K
    FRONT-END (ANGULAR, REACT) - go.foxminded.ua/3ktB9rm
    SALESFORCE Developer - go.foxminded.ua/3Hg3GcH
    UI/UX дизайн - go.foxminded.ua/3GPQry1
    Unreal Engine - go.foxminded.ua/3WmlcR8
    IOS разработка - go.foxminded.ua/3WmkVO6
    PHP - go.foxminded.ua/3WrG21g
    Unity - go.foxminded.ua/3iSUmCn
    NODE.JS - go.foxminded.ua/3XIUmDS
    GOLANG - go.foxminded.ua/3kqRLzV
    Обучение на проекте - go.foxminded.ua/3Wm7Nbt
    🎓Продвинутые курсы для состоявшихся девелоперов:
    GRASP and GoF Design patterns - go.foxminded.ua/3IWUvPR
    Алгоритмы и структуры данных - go.foxminded.ua/3HgqF7u
    C# NEXT - go.foxminded.ua/3D0oK4J
    🔧 Пробное техническое собеседование со специалистом уровня Senior Developer/ Team Leader - go.foxminded.ua/3IWUJGH
    👔 Карьерная консультация с Сергеем Немчинским - go.foxminded.ua/3iJalmB
    Сайт FoxmindEd для новичков: go.foxminded.ua/3ZPphzU
    Сайт для разработчиков уровня мидл+: go.foxminded.ua/3XIJtBP
    FoxmindEd в ФБ: / foxmindedco
    FoxmindEd в Instagram: / foxminded.ua
    Мой Telegram: t.me/nemchinskiyOnBusiness
    Для деловых запросов: youtube@foxminded.ua
    Тайминг:
    00:00 - О чем это видео
    00:32 - Парадигма программирования
    02:08 - Процедурная парадигма
    03:15 - С# Start
    04:01 - Неподдерживаемая программа
    06:00 - Объектно-ориентированная парадигма
    06:47 - ООП на примере покупок
    07:56 - Дополнительные парадигмы
    08:45 - Ниши для которых ООП не подходит
    09:39 - Easy to learn, hard to master

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

  • @SergeyNemchinskiy
    @SergeyNemchinskiy  28 วันที่ผ่านมา

    📵10 ошибок в поисках работы программистом, которые тормозят вас в получении оффера - th-cam.com/video/OchgKVPR7fc/w-d-xo.htmlsi=iz4jfb-WgLrTsrny

  • @sergeymikhaylov5677
    @sergeymikhaylov5677 ปีที่แล้ว +64

    Здравствуйте, мои дорогие. И сегодня я с вами хочу поговорить про обучение вождению.
    Вождение автомобиля - это управление автомобилем. Управление автомобилем это управлением движением.
    Управление может быть ручкой (это первые автомобили), рулем, штурвалом, джойстиком.
    Джойстиком можно управлять самолетом Боинг, мы как раз запустили такой курс, приходите к нам учиться.
    Управление ручкой удобно на первых автомобилях, но если вы хотите ехать быстро, то выбирать нужно управление рулем.
    В современных автомобилях для управления есть руль (его нужно крутить) и педальки (их нужно нажимать).
    Если вы сейчас тот самый человек, который выбирает какие-то курсы, автошколу, то я фактически вам рассказал все, что надо знать.
    Да конечно, вам расскажут про какие-то ПДД, дорожные знаки, безопасность маневров.
    Я вижу, что там обучение занимает, ну какие-то даже месяцы, я не могу этого понять, с моей точки зрения вождению нужно учиться в реальной ситуации, прямо выезжаете в центр большого города и сразу учитесь.
    И по большому счету - про педальки и руль я вам рассказал, это все основы и вам нужно быстрее сесть за руль и ехать.
    В общем не понимаю я эти автошколы, зачем они это делают, возможно выгодно вам продать права на вождение.
    Люблю вас, подписывайтесь, ставьте лайки и ... пока!

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

      Браво.

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

      Зачет. Прям в точку.

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

      На самом деле так происходило в моей автошколе. На первом занятии мы поехали в город)

    • @alexs6792
      @alexs6792 7 หลายเดือนก่อน

      Класс

    • @asya_goyle
      @asya_goyle 5 หลายเดือนก่อน

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

  • @user-je2jr6ym5j
    @user-je2jr6ym5j ปีที่แล้ว +80

    К программированию не имею никакого отношения, но😊проснулся, сделал кофе ☕️ и залипаю на Немчинского.

    • @user-rz7bw3ux2f
      @user-rz7bw3ux2f ปีที่แล้ว +6

      Ну як мінімум тебе цікавить програмування

    • @user-je2jr6ym5j
      @user-je2jr6ym5j ปีที่แล้ว +8

      Ні, я просто такий же старий пердун який намагається отримувати задоволення від життя незважаючи на війну;)

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

      @@user-je2jr6ym5j так вам же ничего не понятно в этом видосе)

    • @user-je2jr6ym5j
      @user-je2jr6ym5j ปีที่แล้ว +1

      @@dzmitrystudy9514 кто знает дорогой Ватсон, кто знает.

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

      @@user-je2jr6ym5j Сергей вам от души скажет спасибо за "старого пердуна"😅

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

    🔥🔥🔥🔥🔥🔥 Супер полезно! Лучшее объяснение из всех, что я слышал! Спасибо огромное!! ❤‍🔥❤‍🔥❤‍🔥❤‍🔥❤‍🔥❤‍🔥❤‍🔥

  • @user-ul4se4ct7d
    @user-ul4se4ct7d ปีที่แล้ว +4

    Спасибо за информацию!

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

    Спасибо за видео. Все четко и понятно

  • @alexeyastakhov5137
    @alexeyastakhov5137 ปีที่แล้ว +35

    Абсолютно согласен.
    Помню когда после Си начал изучать С++ все было легко и понятно, и я очень быстро начал писать на С++ ПРОЦЕДУРНЫЙ код. Овладел ООП только спустя пару лет - когда стал "видеть улицу с другой точки зрения". За те два года я очень много писал программ, и когда поведение программы сильно усложнялось - приходило понимание как применять объекты.

    • @user-iy9to9cl9q
      @user-iy9to9cl9q ปีที่แล้ว

      Меня вынужденный переход с С++ на Java сильно в понимании ООП подтолкнул, там в принципе не может быть кода вне классов. Пришлось сначала выдумывать что в какой класс запихать, чтобы эта сволочь хоть как-то заработала, а потом уже и мозг перестроился. Но на старый свой код теперь без слез не взглянешь)

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

    От души СПАСИБО!

  • @1234567qwerification
    @1234567qwerification ปีที่แล้ว +7

    Как пятой ноге колесо :) 👍

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

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

  • @user-cf8yb7xz1o
    @user-cf8yb7xz1o ปีที่แล้ว

    Только утром пересматривал старые видео про принципы ООП )))

  • @user-yt2dj8cv4j
    @user-yt2dj8cv4j ปีที่แล้ว

    Интересно, спасибо!

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

    Реально понятно, огонь)

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

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

  • @user-dv3bk2jq6m
    @user-dv3bk2jq6m ปีที่แล้ว +8

    Полезная информация

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

    наконец-то я дождался

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

    После слова парадигма хотел уже гуглить,но тут же последовало объяснение,лайк без раздумий 😊

  • @S.A.7737
    @S.A.7737 ปีที่แล้ว +7

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

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

    Спасибо!

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

    спасибо за обьяснение - Парадигмы на простом людском языке.

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

    Даже вот заинтересовало теперь чем отличается процедурное программирование от функционального. Как-то думал, что это одно и тоже.

  • @user-uc9rf2ze8p
    @user-uc9rf2ze8p 7 หลายเดือนก่อน

    Там в Ютубе, есть данный который я посмотрел это видео спустя 9 месяцев после выхода на ютюб? Если нет то что бы выводить такую информацию нужно опять запрагроммироват кто? Оба? Или фульстак сам сможет? Ответе пожалуйста языком как программиста

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

    Обожаю вас!

  • @user-ki6ld7wf8w
    @user-ki6ld7wf8w ปีที่แล้ว +1

    УРА-А-А!!! Теперь я программист :)

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

    спасибо вам!

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

    09:19 "Пятой ноге колесо." - це вже якась нова парадигма. )))

  • @OneOne-pk1ij
    @OneOne-pk1ij ปีที่แล้ว

    Добрый день, подскажите пожалуйста, поступил на курсы по Data Since , они будут идти около года, можно ли мне изучать параллельно английский язык или он будет мешать обучению на курсах?

    • @user-iy9to9cl9q
      @user-iy9to9cl9q ปีที่แล้ว +1

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

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

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

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

    Нихрена себе! Я понял с этого видео, что такое ооп!
    Как он сказал про потоковую обработку, что её сложно подогнать под ооп, потому что само описание предметной области не содержит толком объектов, так я понял, что в коде надо объекты(экземпляры классов, которые составляют объекта предметной области) искать и смотреть что они делают, оставляя остальной код на потом. И теперь стало яснее, что именно происходит и как и почему.

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

    Ого! За час почти 3 тыс просмотров! Круто)

  • @user-do8ns6cx5i
    @user-do8ns6cx5i ปีที่แล้ว +2

    Спасибо

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

    В программировании парадигма -- скорее подход, чем взгляд.
    Процедура (подпрограмма) работает со своими данными и может вызываться неоднократно, что экономит труд. Но данные портятся при параллельном вызове одной и той же процедуры. Поэтому придумали классы -- упрятывание процедур и их данных в описание. Каждый раз при вызове класса из любого места программы из описания в памяти порождается содержимое класса (объект), и с ним работают. Это также экономит код, но при параллельных порождениях объектов их данные не портятся.
    ООП -- это просто!

    • @kai.hexendorf
      @kai.hexendorf 9 หลายเดือนก่อน

      То есть вы свели всю ООП к инкапсуляции? И решили, что ООП - это просто? Инкапсуляция - это подход, но ООП не сводится к инкапсуляции и может существовать без инкапсуляции. А защиту данных от внешнего вмешательства мы можем сделать через замыкания или еще каким-либо образом, не обращаясь к ооп.

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

    Доброе утро, подскажите, пожалуйста, когда будет доступно изучение и прохождение курса по Java . Живу в России. Спасибо!

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

      Присоединяюсь к вопросу

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

      а сами не можете догадаться?

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

      Никто не ответит на этот вопрос. Когда война закончится, Украина освободит все свои территории и Россия будет платить репарации. И то не факт, что после этого Немчинский разрешит курсы.

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

      @@torrvic1156 У меня за окном никакой войны нет, незнаю что вы тут все обсуждаете

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

      never

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

    Как пятой ноге колесо - запомнил, буду использовать. :)

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

    Khalil Stemmler попробовал объединить всё в своей книге, но многие в том числе я не знают как использовать паттерны и мощь ооп(

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

    Спасибо за видео, очень доступно и понятно изложено для новичка. Оф топ вопрос: php жив ещё? Хочу начать с него переход в it...

  • @nurken2345
    @nurken2345 ปีที่แล้ว +26

    Сергей расскажите про Алгоритмы и структура данных, где применяются

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

      Эммм, странный вопрос...
      Везде?..

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

      @@user_name2108 понятно что везде, где применяются, при каких задачах имеется ввиду.

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

      @@spelsinx при всех

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

      @@roman_je_rkoff не при всех, будьте умнее, не пишите бред

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

      @@spelsinx Коллекции - это структуры данных. Я практически не знаю задач, где бы они не использовались.

  • @user-uc1yt7fu8j
    @user-uc1yt7fu8j ปีที่แล้ว +11

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

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

    Мы тебя тоже любим, спасибо

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

    Легко и приятно слушать. Спасибо!

  • @NoName-pu1by
    @NoName-pu1by ปีที่แล้ว +2

    "5 ноге колесо" - забавно)

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

    Я так и не понял, чем процедура отличается от объекта, кроме названия. Интересно было бы сделать одну и туже задачу двумя этими способами и показать разницу. Методы объектов это те же параметры процедуры. Но гораздо сложнее в написании.

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

    9:02 чем они особенные в этом плане? Они всего лишь передают видео потоком, где там много разных потоков данных?
    В этом примере, думаю, было бы более кстати примеры каких-то realtime приложений, где действительно все выстроено как dataflow, например через Rx

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

      Имхо, ООП , конечно, классно, но ей не хватает правил для определения объектов. Хотя такие правила есть в теории баз данных - обеспечение оптимального хранения всей необходимой информации, нормализация и т.п. Например, есть склад, где можно выделить объект "товар", а можно выделить "транзакцию"(любое перемещение товара). Второй вариант больше подходит для учёта, особенно когда товары делимы (например, можно отсыпать часть товара).
      Возможно, та же фигня и с потоковым видео.

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

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

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

      Это видео про то, как у них классно учат, а у других хуже. Немчинский рекламщик с претензий на серьезные вещи. Не обосрать других - это нужно иметь культурный багаж в несколько поколений... Джентльмен - это чел у которого три поколения имеют диплом Оксфорда!

  • @user-wm7gd2cg8c
    @user-wm7gd2cg8c ปีที่แล้ว +4

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

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

      в общем все так, только парадигмы как раз и заточены к "распределению зон ответственности", просто не все их принципы везде соблюдают

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

    Вы представили все ООП только в разрезе инкапсуляции. Лишь вскольз упомянув о всех трех принципах: инкапсуляция, полиморфизм и наследование. Это как бы и есть те три слона, на которых базируется мир ООП на заставке к ролику. Так про всех слонов и надо бы, наверное. Может поэтому другие курсы обширнее? Вы выбрали одного слона (инкапсуляцию), назначив его главным. Ну это в общем-то известная общая проблема. Большинство программистов именно так и понимают ООП, как инкапсуляцию. И для них понятие полиморфизма чуждо, наследование еще куда ни шло. Такие разработчики не понимают, что такое интерфейсы и зачем они нужны. Они их используют чисто в разрезе практик и паттернов. Абсолютно не понимая смысла.
    Разработчики, освоившие изначально процедурный стиль, понимая только инкапсуляцию, начинают писать программы в ООП в том же процедурном стиле. Осознавая классы как микробиблиотеки процедур с упакованными микробиблиотечными свойствами, удобные в использовании. И не более. Кстати, вы упустили важный шаг в истории про переход от процедурного стиля к ООП, это процедурные библиотеки (модули, в некоторых языках), которые уже умели инкапсулировать свойства и методы. Но толчком к переходу к ООП стали именно наследование и полиморфизм.
    PS. Ну и стоит наверное с самого начала четко разделять классы и объекты (как экземпляры классов). Первое, с чем сталкивается новичок - это непонимание чем отличается класс от объекта. А вы тут в ролике классы объектами называете.
    PS2. Первая ключевая проблема процедурного подхода, это конечно же не проблема упорядочивания процедур, а потеря управляемости в связи с том, что процедуры начинают связываться логикой, которая никак не оформлена специально (не инкапсулирована), эта логика держится только в голове программиста, освоившего нужные библиотеки и понявшего взаимосвязь процедур. Вторая ключевая проблема процедурного подхода - полное отсутствие полиморфизма. Долгое время не было осознания необходимости полиморфизма. Наследование худо бедно можно реализовать в процедурах, инкапсуляцию тоже, но только не полиморфизм. Это ничем не эмулировать. Это внутри механизма ООП. И вот когда пришло осознание, что никакими ухищрениями полиморфизм не реализовать в процедурах, вот тогда ООП пришел в отрасль окончательно.

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

    ООП это просто, это всего-лишь 1 термин, 4 принципа, 23 gof patterns, solid и прочие best practices. Добро пожаловать в java/c#, ребята.

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

    Вас послушать, так весь линукс это один большой файл. Ведь там чистый Си. И он не умеет в ООП. Или всё-таки умеет?

  • @user-mg9wb3mk9w
    @user-mg9wb3mk9w ปีที่แล้ว

    как отлечить рекламу от не рекламы качеством записи звука

  • @user-ld1fo5mh9b
    @user-ld1fo5mh9b ปีที่แล้ว

    Спасибо . Макрофункциональное погоизм это про энтузиазм .

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

    Сейчас в последнее время даже начали выделять четвёртый принцип ООП такой как Абстракция и видел 1 раз, как выделяли даже пятый принцип Композиция, но если с Абстракцией ещё можно согласиться, то вот Композиция может казаться дополнением необязательным, которое просто рассказывает об одной возможности ООП :)

    • @0imax
      @0imax ปีที่แล้ว

      Видел у некоторых аж 6: "обмен сообщениями" ))

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

      У кошки четыре ноги. Но есть еще хвост, уши и много чего еще. От того, что хвост кому-то хочется считать пятой ногой, он таковой не станет.

    • @user-hm6eh6yx8g
      @user-hm6eh6yx8g ปีที่แล้ว

      обычно композицию называют частным случаем агрегации. Агрегация - два объекта связаны между собой, но при уничтожении главного объекта агрегированный объект продолжает существовать. Композиция - это частный случай агрегации, при котором между двумя объектами создается сильная связь. При уничтожении главного объекта уничтожается и вложенный. Как-то так. Но это ведь не относится к принципам ООП, насколько я понимаю, это варианты взаимодействия между классами. Типа наследование, дружба и т.д. А принципы ООП - это собственно наследование, инкапсуляция и полиморфизм. Но вы правы, в последнее время стали выделять 4ый принцип абстрагирование.

  • @user-mt8mv3ky9x
    @user-mt8mv3ky9x ปีที่แล้ว

    Я так и не понял в чём заключается отличие объектов от процедур

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

    5:13 перефразируя "День выборов"
    -- Описание этой процедуры, точно такой же, но другой, наш доблестный разработчик уже реализовал

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

    Когда Сергей стал похож на Ричарда Салмана, Так и хочется от него услышать про linux, openssource, и C++

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

    Мало быстро рассказать, надо чтобы еще и быстро поняли :)))

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

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

    как 5 ноге колесо, такого я еще не слышал))

  • @user-dq8bs4co4v
    @user-dq8bs4co4v ปีที่แล้ว +3

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

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

      th-cam.com/video/EvGi6XDgV7w/w-d-xo.html
      th-cam.com/video/eI0XzQw3V0Q/w-d-xo.html
      th-cam.com/video/Ay_GwOQWPs8/w-d-xo.html
      Пока только по принципам ООП)

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

    Невероятно харизматичный мужчина

    • @alazarnfreeman9216
      @alazarnfreeman9216 ปีที่แล้ว +15

      Сергей, перелогиньтесь

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

      @@alazarnfreeman9216 🤣

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

    В Си очень даже можно в ООП. Линус Торвальдс неплохо обходится - не скажу, что ядро Линукс и Гит маленькие программы.

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

    Смысл ООП в том, что эта парадигма позволяет создавать данные в рантайме. Т.е. управлять динамически изменяемым дампом памяти в процессе работы программы. Все остальное - это шелуха. Хотя, понимаю, что это трудно объяснить на раз людям , которые , особенно, никогда не имели дело с языками программирования, в которых дамп данных статичен... )))) Являюсь Вами подписчиком. У Вас большой талант общаться с людьми ...)))))))

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

    Борода офігенська 😅

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

    Короче процэдуры надо делить на блоки. Я не понял причём тут объекты

  • @user-md4wy6zi7d
    @user-md4wy6zi7d ปีที่แล้ว

    Модули пропустил между процедурным и объектным

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

    Все грамотно, но я с РФ не могу зайти по Вашим ссылкам.

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

    Я новичек в ООП, но в моем представлении это проще понять с точки зрения менеджмента чего-либо. Не ?

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

    8:55 почему? В потоке данных можно передавать объекты

    • @r.chitector
      @r.chitector ปีที่แล้ว

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

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

      @@r.chitector какие? 0.01 мс против 0.003 мс?

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

      @@ni55an а потом GC придет все эти объекты собирать... а вообще скорее всего имеется ввиду, что такую систему куда проще задизайнить в функциональной парадигме, нежели в объектной. Просто нет смысла забивать гвоздь экскаватором

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

      @@ksviety чтобы никто не приходил, можно вообще на C писать и самому чистить память, но какой в этом смысл, если память и процессоры стоит дешевле, чем работа прогера?
      Не сказал бы, что в функциональной проще задизайнить. В ней нужно строго следить за иммутабельностью, сайд эффектами и т.д., а ООП в этом не ограничивает.
      Экскаватор это инструмент, а парадигма это не инструмент, это концепция

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

    Объект - это набор переменных (свойства) и функций (методы), которые характеризуют структуру данных из предметной области.
    Класс - это заготовка для объекта. Соответственно, объект - экземпляр класса.
    Например операторными скобками { } инкапсулируют, т.е. скрывают логику в этой части программы от всей прочей.
    Вот точно также парадигмой ООП проектируют каждую программу, которая сложна, как внешний мир и его предметные области.
    Для меня описание выше когда дошло лучше прочих философских рассуждений.

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

      Класс - это не заготовка. Это класс. Так и надо изначально говорить, чтобы потом не говорить о классе, как о шаблоне или заготовке.
      Класс - это описание набора свойств (определяют состояние) и методов (определяют поведение), которые характеризуют декомпозированный элемент предметной области.
      Объект - экземпляр класса, отражающий состояние и поведение конкретного элемента предметной области в соответствии со спецификацией класса.
      И инкапсуляция - это не скрытие логики. Класс - это не черный ящик. Инкапсуляция - это группировка состояния и поведения в одном месте (в классе), которое человек способен контролировать, и управляемость которого гарантирована "контрактами" ООП конкретного языка (например, модификаторами доступа).

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

      @@vladimirblagin3105 Боюсь, Ваше объяснение смогут понять только те, кому оно уже не нужно))
      Они и так уже знают, что такое класс и объект.
      Мне много лет назад объяснили "на пальцах" это еще проще:
      Есть типы данных - стринг, интежер, флоат и пр.
      Но можно создать и свой тип данных, в зависимости от потребностей.
      Это и будет класс. А объект - это переменная этого типа данных. Все.
      Всякие инкапсуляции и наследования для понимания придут позже.

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

    Вот про Hard to master это точно, мне мои классы и то как я их использую вечно вызывает чувство неправильности и убогости.

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

    Моё мнение: пока вы не начнёте писать хоть какую-то +/- среднюю программу - не поймёте что такое ООП, SOLID, зачем это придумали и как это использовать

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

    Просто есть языки, где в ООП натолкано куча всего, а потом ещё и книжонок написано по 1000 страниц с портянками кода...

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

    Мати Василева 😀 не відразу впізнав =))) крута борода))

  • @giwiijeck5135
    @giwiijeck5135 ปีที่แล้ว +50

    Не верьте этому дяде, что за бабло и 2 недели он научит Вас ООП. Просто начинайте кодить на плюсах или решетке. И через несколько лет и несколько десятков проектов, таки дошедших до продакшена, Вы с удивлением для себя обнаружите, что Ваша башка уже мыслит объектно - ориентировано, а не процедурно, как было ранее.

    • @OleksandrZakharchenko-xc6lq
      @OleksandrZakharchenko-xc6lq ปีที่แล้ว +3

      Так а никто не сказал, что ты начнёшь писать код, и все понимать после вступительного курса…

    • @user-ee6gj1ld5p
      @user-ee6gj1ld5p 6 หลายเดือนก่อน +2

      Так мы ж мову не знаем. О чём тут вообще говорить?

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

    Разговорный язык очень красивый

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

    Новичкам про ООП надо понять одну простую вещь. ООП - оно не про предметную область (ибо сишная структурка объект реального мира отображает не хуже объекта джавы). Оно про организацию кода. Ибо до него в чисто процедурном подходе данные приходилось хранить либо в глобальном стейте, что давало адок в рантайме (ибо отловить, кто нагадил, было крайне сложно), либо перешвыривать в параметрах процедур, что нехило загаживало код.
    И самый фундаментальный принцип ООП - инкапсуляция (не то, что джаверы придумали, а изначальное ее понятие), то есть объединение кода и обрабатываемых им данных в одну сущность. Уже одно это дало нехилый буст к возможной сложности программ. Наследование и прочие полиморфизмы уже скорее приятные бонусы.

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

      та же история и с JS. На нем можно писать в ООП даже не используя ключевые слова class, super, extends и т.д.

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

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

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

    ОО и функциональная парадигмы ортогональны, и Scala вбирает в себя преимущества обеих!

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

    Странный переход от свалки процедур к ООП. А модули? Разбить по темам, вложенности?

  • @user-sk2kw8pr9e
    @user-sk2kw8pr9e ปีที่แล้ว

    Вы такой умный, почти как я

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

    Борода топчик

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

    крутая борода!

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

    наверное наисложнейшее объяснение из слышанных

  • @zloypapafan-ghost2875
    @zloypapafan-ghost2875 ปีที่แล้ว +2

    Сергей, я Вас очень уважаю, но про ООП Вы в этом видео как раз рассказали настолько сложно, что я за терминами потерялся. Где-то встречал пояснение ООП на примере подбора кузова автомобиля. Никакой терминологии и все просто и понятно. :)

  • @user-kj2nc7qg9y
    @user-kj2nc7qg9y ปีที่แล้ว +2

    философия программирования

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

    Я знаю что такое ООП, но на такой кликбейт не мог не отреагировать просмотром

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

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

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

      @@alexandrapersukova это еще не сложные штуки. И он объясняет так как ему нужно, а ни так как нужно чтобы человек научился. Если вы захотите и вправду стать программером, то вам такая простая и легкая на вид информация просто не пригодится от слова "совсем"

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

    дякую!

  • @user-op6ir5wn9i
    @user-op6ir5wn9i ปีที่แล้ว +3

    Супер! Доступно. Дуже дякую.

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

    Бро, объяснение слово, через твёрдый знак пишется.

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

    "Будь проще, и люди к тебе потянутся". Так говорили, когда я служил в армии. Не знаю, как будут восприняты мои советы, но все же решил вставить свои "пять копеек".
    По-перше, "проще" - это никаких лишних новых словей типа "парадигма". Набор правил! Ибо так оно и есть на самом деле. Наборы различных правил, начиная от "верблюжьей" или "венгерской записи" и аж до SOLID, всяких "паттернов" (не очень хорошо отношусь к применению иностранных слов взамен привычных, хотя и чаще всего иностранного происхождения, поэтому предпочту "шаблоны" вместо "паттерны"). Чем больше неоправданно лишних иностранных слов русскими буквами, тем хуже восприятие у читателей-зрителей-слушателей.
    Поэтому. ООП - это набор правил. Довольно большой, разросшийся за десятки лет набор правил. Набор этот предназначен исключительно для "облегчения жизни" программистам за счет повышения надежности кода за счет уменьшения числа ошибок, упрощения их поиска и т.д. И что очень важно - когда есть набор формальных правил, можно многие действия автоматизировать, что и делается во многих программах для разработки приложений (они же IDE, ИСР, ЕСР...). Недавно от кого-то услышал, что в Visual Studio (не Code) все труднее и труднее делать ошибки.
    Правила в ООП... Например, это разделение всего кода на классы - модули. Каждый модуль - это модель (шаблон, набор свойств, методов и т.д.), по которой создаются объекты. Тысячи, десятки, сотни тысяч строк кода (или даже миллионы) разбиваются на отдельные модули - классы. В итоге вырастает (как правило) общий объем текста, но значительно уменьшается путаница, облегчается тестирование, упрощается разделение труда... И в конце концов, этот подход соответствует природе человека.
    Это как про деньги: "Если бы никто не придумал ООП, его все равно бы кто-то придумал."
    P.S. Однажды аятолла Хомейни специально работал над уменьшением своего словарного запаса в разговоре с обычными людьми. Речь шла о сокращении с 5 тысяч до одной тысячи слов.

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

      Ну да, ну да. А еще программы писать надо на русском (или украинском?), как в 1C :-). И постулаты ООП: обособленность, наследование и ... и ... и ... изменчивость поведения через множественность применения? 🙂

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

      @@vladimirblagin3105 А что, нормально код пишется на русском языке в 1с. Это по началу больно, а потом привыкаешь )))

  • @user-gs1uq4qw3e
    @user-gs1uq4qw3e ปีที่แล้ว +1

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

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

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

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

      ChatGPT - это лишь помощь, на уровне подсказок IDE (просто более продвинутых), это никогда не сможет само решать бизнес задачи

    • @0imax
      @0imax ปีที่แล้ว +1

      @@maxkiner4059 Даже если когда-то ИИ достигнет уровня мидла, всё-равно кому-то надо будет сформулировать для него задачу))

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

      @@0imax именно) пользуюсь GitHub Copilot, очень помогает, иногда кажется, как будто читает мысли) но это всего лишь инструмент, а я его оператор

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

    у вас ошибка в слове обЪяснять и в заголовке на картинке видео

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

      Он не обязан знать орочий у него мойва это его язык

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

      @@Romanbanan12 при чем здесь мойва, или у тебя Й на клавиатуре западает? или ты пробитый пропогандой руснявой?

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

      @@cozyfireplace_ или на говяжей мойве ещё как вариант

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

      @@Romanbanan12 как ты со своими интеллектуальными возможностями вообще попал на это видео, ущерб

  • @kai.hexendorf
    @kai.hexendorf 9 หลายเดือนก่อน

    Новички теперь задаются вопросом: "В чем всё-таки разница между процедурой и объектом?" Звучит как: в чем разница между умением говорить и человеком? - то есть вещи очевидно несравнимые. Объект лучше понимается через противопоставление его структуре данных, эти две концепции - абсолютные антиподы. Процедура в процедурной парадигме будет совершать операции над структурой данных, но в ООП та же самая процедура как неотъемлемая часть объекта будет совершать манипуляции над данными/состояниями своего объекта. В процедурной парадигме - процедуры являются центром мироздания, а в ООП мы имеем дело с объектоцентризмом. Инкапсуляция, полиморфизм, абcтракция и наследование - это техники, повышающие качество объекто-ориентированного кода, но не являются необходимым условием для ООП.

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

    Почему слева сверху говно плавает?

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

      Надень очки, там украинский флаг, а не российский

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

    Если не знаешь, зачем нужен класс Object, то ты не знаешь, что такое ООП. А когда ООП не знаешь, то и программ в ООП у тебя нет. А про класс Object не знаешь тогда, когда думаешь, что можно было бы и выкинуть его. Так что даже долгий курс не гарантирует освоение ООП учащимся.

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

    ОБЬ - Корень слова "обьяснение", поймёшь что означает корень поймешь это слово и осознаешь что это видео не о том о чём ты предполагал :) Лайк за тупейшую очепятку!!!

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

    Я, как человек который много много раз за много много лет гуглящему "что такое ООП?" могу с уверенностью заявить: Нифига вы не объяснили. Да, сейчас то я уже знаю что это такое но этот видос такой-же нифига реально не объясняющий как и куева туча остальной информации в сети. И, ДА, понял я это только по практике, когда в один прекрасный момент было: "Ааааааа, воооооот, я понял"!

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

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

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

      @@user_name2108 если ты лет пять сеттеры/геттеры попишешь - вряд ли тебе это поможет ООП понять

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

      @@user_name2108 Ну так, а почему бы не объяснить это раньше? Суть то видео в чём??? Яркий пример это видео где объясняется число Пи, конечно же я знал что Пи это 3,14 - это же все знают, вот там, как говориться, на пальцах объяснено, и вот только поле того видео я понял "что это" и "зачем это". Вот и тут так, я знаю что ООП это парадигма, а вот суть "что это" и "зачем это", для тех кто совсем не в курсе, здесь не доведено...

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

      Если ты не понял, это не значит что не объяснили :)

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

      @@dimkinn1 Это типа как ты не понял что я объяснил??? Попробую еще раз: Я, как человек давно уже знающий что это такое и объясняю что это видео этого не объясняет совсем, как и тонны подобных статеек и видосиков... И нех тут выделываться, показывать на машину и говорить что это "машина" не объясняет никуёшеньки!!! P. S. И говорить что она "ездит" тоже не объясняет никуя...

  • @user-ee6gj1ld5p
    @user-ee6gj1ld5p 6 หลายเดือนก่อน +4

    ⬜🔵🔴

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

    Зачем мне учить c#, если есть Kotlin, Python.

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

      Быстродействие.

  • @user-ld8ey6wr8h
    @user-ld8ey6wr8h ปีที่แล้ว

    Я скажу проще и самое главное: ООП это способ облегчить использование уже созданного кода, всё идёт по пути упрощения, сделать сложное простым, вот ООП позволяет это реализовать

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

      сложное нельзя сделать простым, можно только скрыть эту сложность за какой-то конструкцией, которая имеет свой overhead

    • @user-ld8ey6wr8h
      @user-ld8ey6wr8h ปีที่แล้ว

      @@ni55an спасибо, всё сложное можно разделить на простые решения: делай одну вещь, но делай её хорошо

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

      @@user-ld8ey6wr8h если говорить про общую сложность, то при разделении на простые решения она станет только больше

    • @0imax
      @0imax ปีที่แล้ว

      @@ni55an Большие задачи иначе как разбиением на более мелкие - не решить.

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

      @@0imax я нигде это и не отрицал. Просто нужно понимать, что подобные разбиения имеют свой overhead

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

    Процедуры используется только в 1с, не рыба не мясо.

    • @0imax
      @0imax ปีที่แล้ว

      Паскаль покинул чат

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

    +

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

    Дааа проще это объяснить видимо было невозможно