Инкапсуляция

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • Инкапсуляция - это одно из основных понятий Объектно Ориентированного Программирования. Причина простая, ООП во многом нужен для этой самой инкапсуляции.

Komentáře • 97

  • @mortarion_11
    @mortarion_11 Před 5 lety +29

    Спасибо, Иисус

    • @marcoesteban1324
      @marcoesteban1324 Před 3 lety

      i know im randomly asking but does anybody know a method to log back into an Instagram account..?
      I was dumb forgot my login password. I would love any tricks you can offer me.

    • @gusulises1758
      @gusulises1758 Před 3 lety

      @Marco Esteban instablaster =)

    • @marcoesteban1324
      @marcoesteban1324 Před 3 lety

      @Gus Ulises i really appreciate your reply. I got to the site through google and Im trying it out atm.
      Looks like it's gonna take quite some time so I will reply here later when my account password hopefully is recovered.

    • @marcoesteban1324
      @marcoesteban1324 Před 3 lety

      @Gus Ulises It worked and I now got access to my account again. I am so happy!
      Thanks so much, you saved my ass !

    • @gusulises1758
      @gusulises1758 Před 3 lety

      @Marco Esteban happy to help xD

  • @user-re2lf5fv5k
    @user-re2lf5fv5k Před 4 lety +7

    круто смотрится когда лекцию по программированию ведет Паук

  • @user-de6xc6rj4c
    @user-de6xc6rj4c Před 3 měsíci

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

  • @user-wc4zo2iy9n
    @user-wc4zo2iy9n Před 9 lety +39

    ООП - прекрасная тема для видео!

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +19

      ***** Уже записаны и ждут в очереди на выкладывание: Наследование; Агрегация и Композиция; Представление дочернего класса в памяти; Класс Обёртка; Двойное наследование в памяти. Возможно хватит музы записать и ещё больше.

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +5

      ***** Может и до энумерации доберусь. Посмотрим))

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +3

      ***** Ааа. Нет так не хочу делать. Список уже есть, а вот нумеровать уроки так я не буду. Я не хочу делать курс.

    • @shmulful
      @shmulful Před 9 lety

      Vladimir Mozhenkov жду

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +3

      *****
      Агрегация и Композиция уже выложены. также уже есть ряд других уроков: czcams.com/play/PLY7PmJJFH5nRcWGKbgl9N7txM5YLtela6.html

  • @user-bc2mp2do1q
    @user-bc2mp2do1q Před 9 lety +2

    Спасибо! Все очень просто и доступно! Я оказывается этим пользуюсь постоянно, но не знал, что это называется ИНКАПСУЛЯЦИЕЙ )))

  • @6oogle535
    @6oogle535 Před 7 lety +1

    Спасибо все понятно. Часто слышал это слово и не знал что оно означает, теперь блесну умом перед товарищем.

  • @maksimhudzey
    @maksimhudzey Před 8 lety +1

    Спасибо, что объяснили не только "что это такое", но и дали понять (что не маловажно) зачем это нужно....

  • @SergeyTish
    @SergeyTish Před 9 lety +15

    Я помню, как меня учили ООП (и пониманию инкапсуляции) в университете...
    Лично мне удалось понять, что такое инкапсуляция и зачем она нужна, только на практике...в процессе создания объектно-ориентированного кода программы. А до этого я трижды пытался понять что это такое отталкиваясь лишь от теории, но результаты были плачевны...

  • @FroL_Onn
    @FroL_Onn Před 6 lety +1

    Первое видео понравилось, поехали дальше)
    Спасибо!

  • @romanbrazhnikov9049
    @romanbrazhnikov9049 Před 8 lety +60

    Начали за здравие, закончили за упокой. Инкапсуляция - это заключение данных и методов обработки этих данных в единый компонент - объект. А то, что рассказано в видео - это сокрытие, т.е. внутри у нас под модификатором доступа "private" те самые ФИО поля, а снаружи (public) только необходимый интерфейс обработки данных (SetName, GetName).

    • @moduchanyu4025
      @moduchanyu4025 Před 8 lety +19

      В общем случае, в разных языках программирования термин «инкапсуляция» относится к одной из или обеим одновременно следующим нотациям:
      языковая конструкция, позволяющая связать данные с методами, предназначенными для обработки этих данных;
      механизм языка, позволяющий ограничить доступ одних компонентов программы к другим.
      ru.wikipedia.org/wiki/Инкапсуляция_(программирование)

    • @user-rz1bn3gl7q
      @user-rz1bn3gl7q Před 4 lety +2

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

  • @capricornusx
    @capricornusx Před 9 lety +45

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

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

    Спасибо

  • @olehlavryk5902
    @olehlavryk5902 Před 8 lety +2

    Володя, спасибо!

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

    Вот честно, еслиб не комментарии ничего бы толком не понял)
    Потому предлагаю свою формулировку -
    - Инкапсуляция, это механизм конструкции объединения данных (компонентов и методов, благодаря модификаторам доступа) в абстракцию капсулы, где капсула = объект.
    И ещё разок посмотрю, позавидую бороде)))

  • @kJluk
    @kJluk Před 9 lety +1

    хоть и знаю, что это такое. посмотрел до конца. лайк!

  • @alankuchinskij3603
    @alankuchinskij3603 Před 7 lety +1

    он молодец , все четко объяснил

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

    Sposiba Brat

  • @MrArtrynk
    @MrArtrynk Před 3 lety

    Лайк, подписка, автор- молодец, спасибо за материал)

  • @WhaleShow
    @WhaleShow Před 8 lety +1

    БРАВО ОЧЕНЬ ДОХОДЧИВО

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

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

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

    Круто ! и просто

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

    Красавчик! Хоч хтось дав нормальний приклад!

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

    👍

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

    Спасибо отлично!👍

  • @Tyn4tyk
    @Tyn4tyk Před 3 lety

    ООП рулит!

  • @tarasv7122
    @tarasv7122 Před 6 lety +1

    8:49 как сеттер может проверять передана ли ему строка или масив. Имею ввиду, если изначально он был заточен под строку, то как-бы все пропало)) нужно как-то по другому викручиваться, или я не прав? Например новый сеттер добавлять?

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

    Ответьте пожалуйста, ваш плейлист "ООП" подходит для PHP ? заранее извиняюсь если задал глупый вопрос, я начинающий.

  • @Gultseva
    @Gultseva Před 6 lety +19

    "Если есть вопросы, можете задать"
    ЧТО ТАКОЕ ИНКАПСУЛЯЦИЯ?))

  • @Andrei_Kozlov
    @Andrei_Kozlov Před 3 lety

    Владимир, огромное уважение Вам, за ваши труды, но ваша прическа на голове создает преграду для восприятия информации.

  • @radmilkaskazzi4423
    @radmilkaskazzi4423 Před 9 lety +2

    Спасибо! Объясните, пожалуйста, еще полиморфизм :))))

  • @ib7563
    @ib7563 Před 8 lety +1

    Хотелось бы какой-то мини курс по Бертрану Майеру. Потому что, даже те кто много уже наШкодили. когда создают код даже не думают о том, что они создают ПО по структуре Сверху вниз (( а не иначе. А инкапсуляция, полиморфизм и наследование затертая тема, которую нудно рассматривать с точки зрения истории развития программирования. Мой пост не камень в огород, спасибо за труды. Основы основ останутся нераскрытыми...

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

      Евгений, а чем должен помочь курс по Бертрану Майеру, уточните плз.
      Что значит, также, ваш акцент на создании кода сверху вниз?

  • @33zeram
    @33zeram Před 9 lety +7

    Владимир, будет ли серия видео про линуксы?

  • @capslow_ru
    @capslow_ru Před 6 lety +1

    Крутое видео=) Но по моему у вас есть некоторый акцент, вы выучили Русский язык?

  • @Mura905
    @Mura905 Před rokem

    Инициалы можно брать функцией из первых букв ФИО.

  • @yrka183
    @yrka183 Před 7 lety +1

    А в java есть дружественные классы и есть ли у Вас видео что такое композиция?

  • @karamba6936
    @karamba6936 Před 2 měsíci

    Вот посмотрел, и стало интересно спагетти вестерн он тоже намешан или его просто итальянцы снимали.

  • @IonWP
    @IonWP Před 8 lety +1

    А книга по этим уроками есть?

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

    Т.е., если я все правильно понял, то можно сказать, что инкапсуляция - предоставление доступа к объектам с помощью методов, отсутствие прямого доступа. Я только начал изучать Java и зараннее прошу прощения, если задам глупый вопрос, но Инкапсуляция используется только для объектов?

    • @maxlich9139
      @maxlich9139 Před 7 lety

      а что ещё есть в ООП?!

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

    Подскажите где все лекции можно скачать ??

  • @xa_trip
    @xa_trip Před 9 lety

    Инкапсуляция это здорово. Но вот вам философский вопрос на который я сам не ответил) Почему убрали возможность приватить данные и методы в языке swift? Я пишу на нем и по этому языку есть еще вопросы, но сейчас этот в тему)

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +1

      Александр Хлебников Я совершенно ничего не знаю про swift. Так что не знаю.

  • @nameundef8076
    @nameundef8076 Před 4 lety

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

  • @victorprohorov6201
    @victorprohorov6201 Před 2 lety

    Очень интересно, а то все объясняют что такое ООП но никто не объясняет зачем оно.

  • @maxstone416
    @maxstone416 Před 9 lety

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

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

    Как и везде не сказано, что такое инкапсуляция, а сказано как работает инкапсуляция

  • @smull3st
    @smull3st Před 9 lety

    Доброго дня. Как отвечать на вопрос, Сколько принципов ООП существует? 3 или 4?

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +1

      Евгений Степанов Это-же не точная наука. Так что единственный правильный ответ - это "Смотря кого спрашивать". Я уверен есть книги дающие и 5, и 6, и 7 принципов.

    • @smull3st
      @smull3st Před 9 lety

      Vladimir Mozhenkov Спасибо. Ваши ученики уже определились с 2 новыми предметами?Если да, то какие или когда станет известно?

  • @PureGameplay2
    @PureGameplay2 Před 9 lety

    Володя, а, вот к примеру, с какими вещами в этой программе может работать другой программист (слева)?

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety

      Carman Schtern С тем, что вы определили как PUBLIC или PROTECTED (но во втором случае придётся использовать наследование).
      Обычно так определяют сами методы, но бывает, что и данные делают общедоступными (но это уже ломает инкапсуляцию).
      То есть базовое правило: Данные приватные. Методы публичные.
      А потом уже смотрите по обстановке.

    • @PureGameplay2
      @PureGameplay2 Před 9 lety

      Vladimir Mozhenkov На примере данной программы, какое функциональное наполнение мне может потребоваться? Что я могу поручить сделать другому программисту и определить это как PUBLIC или PROTECTED?

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety

      Carman Schtern Пример, который я привёл слишком маленький и неразвёрнутый, чтобы о нём говорить. Ведь нужно знать не только, что находится в классе, но и зачем он используется. И именно от этого нужно отталкиваться, чтобы ответить на ваш вопрос.
      Возьмём например мой класс Студент. Если вы разрабатываете систему для подсчёта оценок. То у объекта Студент может быть функция calculateAverage() чтобы получить его среднюю оценку, а вот сами оценки мы можем сделать приватными и добавлять их функцией addMark(int m). Функция установки имени нам там вообще не нужна, после создания данного объекта имя меняться уже не будет, мы-же не делает систему учёта студентов.

    • @PureGameplay2
      @PureGameplay2 Před 9 lety

      Vladimir Mozhenkov Всё ясно теперь, спасибо. Удобная вещь, жаль что только сейчас узнал об этом.

    • @shmulful
      @shmulful Před 9 lety +1

      Carman Schtern очень быстро можно понять как работает ООП на примере игры - создавая например животное - а потом делить его на виды, я именно с этого начал =)

  • @egorisaev
    @egorisaev Před rokem

    Вопрос: а что же всё таки такое Инкапсуляция?

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

    Теория в программировании, это как теория в сексе....

  • @volodymyr9090
    @volodymyr9090 Před 9 lety +4

    А где же полиморфизм? )

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

    Дайте полотенчико, слишком много воды и так и не понял, что оно такое

  • @asdffewfew
    @asdffewfew Před 4 lety

    коммент

  • @Kabanelloo
    @Kabanelloo Před 7 lety +1

    Очень грамотно объяснил, единственный минус , твоя борода не ухожена ) Приведи себя в порядок , приятнее смотреть . Если ты джуниор разработчикам это понятно . Для еще младших будет не понятно. Но всем не угодишь !!! Спасибо.

  • @afonshinMegaPetuh
    @afonshinMegaPetuh Před 6 lety +1

    А хде полиморфизм?

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

    хуже примера я не встречал.

  • @mikalajkarhin
    @mikalajkarhin Před 8 lety

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

  • @sir_serhii
    @sir_serhii Před 7 lety +23

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

  • @sergshutk2757
    @sergshutk2757 Před 5 lety

    Сам-то понял о чём рассказал? Столько эмоций и всё впустую. О чём-то рассказывал, рассказывал, а что такое "ИНКАПСУЛЯЦИЯ" так и не рассказал.
    На будущее сначала говорят термин, потом раскрывают что это такое и только после этого можно говорить всё остальное.
    И хрень ваше ООП, инкапсуляция, полиморфизм и прочее. Это для тех, кто не хочет думать как уметь программировать. Вы пользуетесь классами и сами не знаете зачем.
    Если коротко, то класс - это объединение объектов подходящих под этот класс. Вы же творите под каждый объект отдельный класс. Засовываете туда всё что угодно и для нового объекта создаёте новый класс...
    В Делфи (может быть и в Си++) есть поля(записи), Вот они как раз очень удобны для работы с объектами.
    Объект - это описание кого-либо, чего-либо. Эти поля, не содержащие ни каких дополнительных процедур и функций, описывают весь объект, "дают ему свойства" с которыми уже можно работать. И как раз на основе этих описаний объектов уже можно создавать класс (и то, если нужно). Но опять же класс не должен содержать этих полей!!! Он должен содержать в себе рабочие процедуры/функции для работы с этими полями(записями) и может содержать дополнительные описательные поля.
    "Защита данных", в жопу бы такую защиту данных. Для того чтоб записать координату, вместо того чтоб записать просто в нужное место эту координату, мы вызываем процедуру, которая будет записывать эти данные...
    Точнее вы пошли за хлебом, но для этого вам надо написать самому же себе, что надо идти за хлебом, а потом прочитать и идти... вообще супер!

  • @imgod113
    @imgod113 Před 8 lety +6

    все бы хорошо, но эта борода... боже зачем так?

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

    Не понятно, массивы какие-то? Лапша....он что не завтракал?

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

    Я бы инкапсуляцию СОВЕРШЕННО по другому рассказал + инкапсуляция нужна не для того. для чего рассказал автор )) Я НЕ!! исключаю, что инкапсуляцию можно использовать так как автор рассказал, но РЕАЛЬНО инкапсуляция приносит в миллион раз больше пользы СОВСЕМ в другой теме ))) ... эх .. горе учителя, без опыта "реальных боёв" .. а так же супер заумные формулировки комментаторов ниже, тоже пальцем в небо всё... академичность знаний и полный отрыв от реальных задач и проблем, вот основная проблема горе учителей теоретиков в сферическом вакууме )) Автор - это я не про Вас, вас я не знаю, это я в общих чертах про учителей ЦПП... да и не только..
    более того у мнея в команде люди кодят, так вот они уже не одну задачу решили в своей жизни на ЦПП через ООП, но так и не поняли накой хрен нужна инкапсуляция, кроме как для скрытия ))

    • @Juan-zw8hy
      @Juan-zw8hy Před 7 lety

      ключивое слово из всех - "бы"

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

      Juan штааа?

    • @Juan-zw8hy
      @Juan-zw8hy Před 7 lety +2

      шта - ништа, а про инкпсуляцию ты не рассказал

    • @kenshin45736
      @kenshin45736 Před 7 lety +1

      Да ты сам теоретик, опроверг мнение автора, а своего даже не привел. Что же такое инкапсуляция? На практике она применяется повсеместно, прочитай любую книгу по ООЯ, того же Эккеля, там написано, что инкапсуляция на практике нужна как раз для доступа к полям через методы, скрывая внутреннюю реализацию. В итоге, при многочисленных изменениях реализации в классе, интерфейс не меняется, что экономит миллиард времени и устраняет потребность в переписывании/дописывании кода. Твои люди в команде "кодят", а не программируют, множество людей пишут код не разбираясь в теории и средствах, которые они используют, именно из-за этого столько говно-кода и такая высокая потребность в специалистах.

    • @kirillnorkin8283
      @kirillnorkin8283 Před 4 lety

      Расскажите про инкапсуляцию, так как это сделали бы вы)

  • @lenakan1993
    @lenakan1993 Před 4 lety

    ты что хочешь чтобы у моего бабушке былa психические проблемы

  • @davidkroods811
    @davidkroods811 Před 6 lety +1

    Спасибо

  • @kl45gp
    @kl45gp Před 9 lety +1

    Спасибо