Класс Обёртка

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

Komentáře • 27

  • @jillianjillkiadarov9865
    @jillianjillkiadarov9865 Před 3 lety +11

    2021. Дядя Володя, ваши уроки до сих пор актуальны. Спасибо. Живите долго, как ООП. Крепкого здоровья.

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

    К примеру, в .NET Framework классы обёртки во всю используются вместо обычных базовых типов данных, так как они намного более функциональны и имеют в себе реализации подавляющего количества необходимых методов для работы с расширяемым типом данных. И конечно же, эти классы обертки можно унаследовать, если нужен дополнительный функционал. В том же .NET Framework можно спокойно выполнять операции, вроде сложения, представленного в этом видео, и компилятор и слова кривого не скажет и всё прекрасно скомпилирует в CIL. До сих пор поражаюсь, насколько эта платформа шагнула вперед в сравнении с другими (той же java, например). Те же лямбда-выражения появились .NET Framework еще в 3 версии, в то время как java еще подобного не могла.
    Ну да ладно, отличное видео!

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

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

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

    Володя ты настоящий программист и дворянин

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

    В Ruby есть возможность расширить базовый класс(наверняка подобно Scala) . Может понадобиться(в редких случаях) , хотя лучше же конечно обертки.

  • @user-bi3cq2ui8g
    @user-bi3cq2ui8g Před 6 lety

    В учебниках и при обучении разным языкам упускаеться такая важная вещь как правильное (неправильное) расположение файлов в проекте, конкретно "maven", для новичка который начал или начинает изучать это становиться довольно-таки интерестным вопрсом.
    Конкретно я потратил вечер, для того чтобы докопаться до истины расположения файлов.
    Но это было уже сильно после того как несколько пусть и маленьких но проектов уже были готовы.
    Довольно интерестное видео, спасибо.

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

    Я негодую по поводу Integer в java: запись "Integer a=5" правомерна. И другие базовые операции тоже. Потому что при компиляции происходит автоупаковка значений и автораспаковка объектов класса.

  • @zmagamadov
    @zmagamadov Před 3 lety

    В Swift допустим Int, String и все остальные примитивные типы являются Структурами (аналоги Классов), и обертки нужны, особенно они используются повсеместно в SwiftUI. Так что... ;)

  • @maxlich9139
    @maxlich9139 Před 7 lety

    По поводу джавы и обёрток автор не прав: в Джаве уже давно можно присваивать целые числа переменной типа Integer, работает авто-обёртка (autoboxing). Естественно, и вторая строка сработает (в ней просто в переменную b типа Integer записывается значение переменной a (а это значение является ссылкой на объект типа Integer, внутри которого в переменную value типа int записано значение 5)).

  • @gamewithrap
    @gamewithrap Před 3 lety

    в javacript так-же есть возможность расширять примитивы. Например Number, String. Но там ООП устроено на прототипах.

  • @C0oo1D
    @C0oo1D Před 5 lety

    В Python (по крайней мере 3 версии, за 2ю не помню) - все есть объект, в т.ч. базовые типы.
    Т.е. там, как я понял, не нужны классы-обертки, т.к. можно спокойно наследоваться от int без костылей на уровне языка.
    Хотя по обязательному присутствию слова "компилятор", полагаю, автор не учитывает интерпретируемые языки))

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

    Integer A = 5;
    Integer B = A + 2;

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

      так ты посмотри когда сняли это видео

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

    Первый раз слышу произношение Scalá

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

      MMEEEish Интересно. А я ни разу не слышал другого ударения.

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

      MMEEEish Но это часто так. Люди только читают что-то, и произношение вообще неизвестно.

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

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

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

    Как тебя зовут?

  • @user-jh2hj4bi2l
    @user-jh2hj4bi2l Před 8 lety

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

    • @georgematua
      @georgematua Před 6 lety

      Отнюдь - char = чар, Character = Кэрактэ - первый раз вижу видео, где произносятся все английские слова очень правильно

    • @georgematua
      @georgematua Před 6 lety

      Кроме, конечно же, скалЫ ))))

  • @aa-cx4qk
    @aa-cx4qk Před 8 lety

    ето паттерн или что?

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

    не смотри в камеру никогда

  • @user-gf6vd5sy7h
    @user-gf6vd5sy7h Před 8 lety

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

    • @user-jh2hj4bi2l
      @user-jh2hj4bi2l Před 8 lety

      (new Integer(val))->toStr(); да пофиг, пример же. На такой досочке нормальную обёртку не рассмотришь, лол. Обёртка ради тустринга и простой перегрузки операторов тоже не имеет смысла. например можно было бы рассмотреть пример обёртки ради лучшего контроля переноса в знаковый разряд. Даже osu! с их дотнетами такое проебалась сделать. а сравнивать чё-то там перед сложением и генерировать свой эксепшн, если например появился перенос в знаковый разряд, чтобы что-то с этим делать, вот это да. Примерно ради этого инт можно обернуть и перегрузить операторы.