background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

Скачать "Учим Kotlin с нуля | №14 Модификаторы доступа."

input logo icon
"videoThumbnail Учим Kotlin с нуля | №14 Модификаторы доступа.
Оглавление
|

Оглавление

0:00
Введение
0:05
Какие бывают модификаторы доступа
0:40
Что такое модификатор доступа?
1:42
Использование модификатора доступа на высоком уровне
4:00
Использование модификатора доступа в классах
12:24
Резюме
Теги видео
|

Теги видео

kotlin
уроки
android
уроки kotlin
учить kotlin
программирование
уроки программирования
разработка
разработка android
backend разработка
язык программирования
курсы kotlin
обучение kotlin
ide
обучение программированию
основы kotlin
ооп
программирование для новичков
программирование с нуля
программирование kotlin
уроки котлин
язык котлин
учить котлин
андроид
программирование котлин
программирование онлайн бесплатно
изучение программирования
intellij idea
kotlin​​​​​
уроки​​​​​
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:01
про модификаторы доступа в океане итак
00:00:04
начнем с того что в корень и существуют
00:00:07
четыре базовых модификатора доступа к
00:00:10
этому диффе катар доступа public
00:00:13
модификатор доступа
00:00:15
прайвет
00:00:19
вот
00:00:20
так
00:00:21
и интернет всего 4 существует сейчас
00:00:26
разберем что это вообще такое расскажу
00:00:28
подробнее про каждый из них
00:00:30
но до этого нужно сказать что пока что
00:00:32
нам не понадобится модификатор internal
00:00:34
мы будем разбирать только вот эти три
00:00:36
public правит и протектор и так что
00:00:39
такое модификатор доступа модификатор
00:00:41
доступа
00:00:42
это такая штука которая позволяет нам
00:00:44
ограничить или наоборот
00:00:47
открыть доступ к нашим функциям и
00:00:49
свойствам что это значит можно это
00:00:52
представить как входную дверь в вашу
00:00:54
квартиру и ключи к ней когда ваша дверь
00:00:57
всегда открыта можно сказать что ваша
00:00:59
дверь имеет модификатор public то есть
00:01:02
она публично к ней имеют доступ
00:01:05
абсолютно все потому что она не
00:01:07
закрывается если вы используете
00:01:09
модификатор про и вот это значит что
00:01:11
ключи от этой двери
00:01:13
имеете только вы только вы умеете
00:01:15
открывать эту дверь
00:01:17
если вы используете protected то значит
00:01:20
к вашей двери имеют доступ помимо вас
00:01:22
еще и члены вашей семьи
00:01:24
то есть вы делитесь с кем-то доступ к
00:01:27
этой двери
00:01:28
это для общего понимания что такое
00:01:31
модификаторы доступа в котле не нам
00:01:32
нужны модификаторы доступа для того
00:01:34
чтобы вот так вот позволять либо
00:01:36
ограничивать доступ к функциям и
00:01:39
свойствам классов давайте начнем с того
00:01:41
что разберем как работает модификаторы
00:01:44
доступа в вне классов и потом продолжим
00:01:48
с классами то есть у нас есть функция
00:01:50
main которая объявлена вне каких-либо
00:01:53
классов то есть она объявлена само по
00:01:55
себе процессе функции можно сказать что
00:01:57
они высокого уровня то есть они не
00:02:00
нуждаются ни в каком классе для того
00:02:02
чтобы быть объявлен ими они существуют
00:02:03
сами по себе условимся что мы говорим
00:02:06
про такие функции как функции высокого
00:02:08
уровня так вот такие функции в котле не
00:02:11
не только функции но и переменной
00:02:13
давайте например создадим переменную а и
00:02:15
положение число 1
00:02:19
переменные и функции могут иметь
00:02:21
модификатор доступа либо public либо
00:02:23
правят протектор здесь отпадает то есть
00:02:26
функции переменная которое объявлена вне
00:02:28
классов могут быть либо public либо
00:02:30
протектор если мы ничего не указываем
00:02:33
перед ключевым словом wow или фан то
00:02:37
есть у нас ничего не сказано нет никаких
00:02:39
ключевых слов это значит что эти функции
00:02:42
и переменные являются публичными то есть
00:02:45
по умолчанию котлин считает что все
00:02:48
функции и переменные
00:02:49
если мы ничего не пишем являются
00:02:51
публичными они имеют модификатор доступа
00:02:53
public если мы попытаемся написать
00:02:56
public перед функцией то у нас идея
00:02:59
подчеркнуть серым цветом это значит они
00:03:00
обязательно писать ключевое слово public
00:03:02
однако если мы хотим сделать эту функцию
00:03:04
приватный то мы должны уже написать явно
00:03:07
что эта функция будет правил вот в чем
00:03:11
отличие
00:03:12
такой записи и без какой-либо записи
00:03:14
правят означает что эта функция будет
00:03:17
доступна только внутри вот этого файла
00:03:20
main 3 если мы захотим вызвать эту
00:03:23
функцию в другом файле например мы там
00:03:25
сделаем другой файл там main 2 . kitty
00:03:27
там и вот эту функцию main из того файла
00:03:30
не сможем вызвать
00:03:31
если оно будет у нас приватное то же
00:03:34
самое из переменной если эта переменная
00:03:37
будет приватная то мы будем иметь доступ
00:03:41
к ней то есть сможем получать эту
00:03:43
переменную по имени либо записывать в
00:03:45
неё какое-то число если это будет war
00:03:47
только внутри этого же файла внутри
00:03:50
файлом main kitty это все что касается
00:03:53
функцией высокого уровня функций и
00:03:56
переменных доступа к приватно можно
00:03:58
получить только внутри того же файла
00:04:00
теперь перейдем к классам давайте
00:04:02
сделаем это назад public все как было
00:04:05
это нам не понадобится у меня здесь есть
00:04:07
уже некая структура у меня есть 2 класса
00:04:09
1 абстрактный класс
00:04:11
animal который принимается конструкторе
00:04:14
строку войск top обозначает голос этого
00:04:16
животного у него есть открытая
00:04:18
переменная макс речь которую можно
00:04:20
переопределять который обозначает
00:04:22
максимальный возраст всех животных
00:04:24
стоя и определил куска будет ок у нас
00:04:26
есть блок кода и нет который
00:04:28
вызывается во время создания объекта
00:04:30
далее у нас есть функция внутренняя майк
00:04:33
войск которым нельзя переопределять
00:04:35
которая существует только внутри
00:04:36
контрактного класса и не мог у нас есть
00:04:39
открытая функция слип которую можно
00:04:43
переопределять наследниках и у нас есть
00:04:45
абстрактно функция it дальше у нас есть
00:04:48
от класса animal наследуется 1 класс дак
00:04:51
вот он наследуется от класс animal этот
00:04:54
класс док принимает в конструкторе
00:04:56
строковый параметр голос передает его в
00:04:59
родителям дальше он переопределяет вот
00:05:04
эту переменную макс речь делает ее уже
00:05:06
20 что собаки у нас могут 20 лет
00:05:08
максимально жить дали у нас тут тоже
00:05:10
есть блок кода и нет перри определяется
00:05:13
две функции sleep with it это у нас было
00:05:15
абстрактная функция отсюдова
00:05:18
из класса animal i sleep это обычная
00:05:21
функция из класса и нему просто
00:05:24
добавляющая свое поведение для собаки и
00:05:27
внутренняя функция info
00:05:30
который существует только для объектов
00:05:32
класса dog и так как здесь нам применять
00:05:36
модификаторы доступа если мы перейдем в
00:05:39
класс animal то можно увидеть что и идея
00:05:42
подсказывает нам что вот эту переменную
00:05:44
в из это свойство вас можно сделать
00:05:48
приватным почему так давайте нажмем вот
00:05:52
добавился модификатор доступа правит и
00:05:56
и все больше ничего не поменялось идея
00:05:57
подсказала что эту перемену можно
00:05:59
сделать приватный потому что еда и
00:06:01
анализирует весь код который у нас есть
00:06:03
и у нас еда и видит что наша вот эта
00:06:06
переменная войск не используется ни где
00:06:08
ни в каком больше классе и файле то есть
00:06:11
вот эта переменная войск используется
00:06:13
только внутри класса и нему
00:06:15
соответственно ее можно пометить как
00:06:18
правит когда мы работаем с классами
00:06:21
ключевое слово правят на то есть
00:06:23
модификатор доступа прайвет говорит о
00:06:25
том что переменные и методы с таким
00:06:28
модификатором будут доступны только
00:06:30
внутри этого класса прайвет
00:06:33
переменные и правят функции будут
00:06:36
доступны только внутри того класса где
00:06:39
они объявлены у нас это класс к нему
00:06:41
теперь если мы например хотим в классе
00:06:44
док получить доступ к этой переменной
00:06:47
vois например давайте в функции и еще
00:06:52
дополнительно
00:06:54
распечатаем
00:06:57
вайс то видите что у нас ничего не
00:07:00
получается у нас не может коклен найти
00:07:02
никакую переменную с именем boys здесь
00:07:05
потому что в классе родителя она у нас
00:07:07
приватная так давайте удалим этот вызов
00:07:10
теперь они давайте оставим но
00:07:11
закомментируем чтобы было видно и
00:07:13
пометим что так делать нельзя
00:07:18
запрет доступ к памяти так потому что
00:07:23
войск у нас приватная переменная далер
00:07:27
мы можем ключевым словом правят пометить
00:07:29
еще и функцию например давайте функцию
00:07:32
mike vs помечен как прайвет
00:07:34
и теперь внутри классу dog мы не сможем
00:07:39
не как вызвать эту функцию майк войск из
00:07:41
класса родителям вот мы пытаемся
00:07:45
пытаемся на ничего не получается если бы
00:07:48
у нас не было ключевого слова правят то
00:07:51
вот мы могли бы спокойно вызвать функцию
00:07:53
майк войск из класса наследника тут
00:07:57
встает вопрос а как быть если мы не
00:07:59
хотим чтобы наши переменные были
00:08:00
публичные но в то же самое время чтобы
00:08:03
они были доступны в классах наследниках
00:08:05
здесь как раз и приходит на помощь нам
00:08:08
ключевое слово и модификатор доступа
00:08:09
protected давайте поменяем справят на
00:08:12
протектор и функцию поменяем тоже на
00:08:17
протектор теперь если мы захотим
00:08:21
получить доступ к этим функциям и
00:08:23
переменам из классно наследником то это
00:08:26
сделать будет можно давайте здесь еще
00:08:28
один добавим print vois вот видите то
00:08:34
есть мы их переменные и функции можем
00:08:37
иметь доступ так как мы наследуем ся от
00:08:39
класса и нему
00:08:40
отсюда у нас вырисовывается особенность
00:08:43
модификатора protected модификатор
00:08:46
протектор у нас имеет точно такую же
00:08:48
степень защиты степень видимости как и
00:08:51
прайвет но позволяет иметь доступ к
00:08:54
таким функциям и методом из классов
00:08:56
наследников более нигде кроме как
00:08:59
наследниках мы не будем иметь доступ к
00:09:01
этим переменам и
00:09:02
функция давайте это проверим давайте в
00:09:05
классе док сделан вот эту фан info
00:09:07
как например protector далее в методе
00:09:11
main
00:09:12
давайте создадим объект класса до
00:09:18
перед один голос например вот такой и
00:09:23
далее попробуем вызвать функцию info
00:09:28
видите что нас ничего не получается
00:09:30
потому что у нас функция info
00:09:32
она у нас protected таким же образом у
00:09:34
нас и дает подсказывает что у нас эту
00:09:37
функцию можно сделать приватной потому
00:09:39
что у нас идея и видят что у нас нет
00:09:41
никаких наследников от класса до
00:09:42
поэтому бессмысленно здесь сделать
00:09:44
протектор здесь можно и сделать таким же
00:09:46
способом правят и мы все еще не будем
00:09:50
иметь к ней доступа если бы мы ничего не
00:09:52
писали она у нас была бы просто хван
00:09:54
info
00:09:55
то мы могли бы вызвать ее тут еще есть
00:09:57
интересная такая особенность что если у
00:09:59
нас например в базовом классе в классе и
00:10:03
нему есть какая-то protected функция и
00:10:06
мы например при переопределении давайте
00:10:09
сделаем ее и определяемый делаем и его
00:10:13
protected pulp and fan майкла и чтобы ее
00:10:17
можно было переопределить давайте здесь
00:10:19
и и
00:10:22
protected with fan майк voice
00:10:28
переопределим то мы видим что и дейэн у
00:10:31
нас ключевое слово протектор выделять
00:10:34
серым значит она не обязательно то есть
00:10:37
если мы его уберем то давайте здесь
00:10:40
добавим какой-то дополнительный вывод
00:10:43
чтобы у нас идея не думала что это точно
00:10:45
такой же метод как минимум если мы здесь
00:10:48
уберем ключевое слово protected в
00:10:50
переопределение функций майк vois то у
00:10:52
нас он в классе дом будет иметь точно
00:10:55
такой же модификатор доступа как и в
00:10:57
классе родители то есть он у родителя
00:10:59
был протектор мы его переопределяем уток
00:11:01
и здесь он тоже является protected хотя
00:11:04
мы не ставим никакого модификатора
00:11:06
доступа если же мы хотим сделать например его
00:11:09
более закрытым это эту функцию то есть у
00:11:13
нас в у родителя было protect это здесь
00:11:15
мы хотим сделать проект то так сделать у
00:11:17
нас не получится почему потому что у нас
00:11:19
класс animal является базовым классом
00:11:22
он более общий и мы в классах
00:11:25
наследниках не можем сужать доступ к
00:11:28
базовым компонентом то есть к базовым
00:11:31
функциям мы не можем сделать у класса
00:11:33
наследника функцию более закрытую чем
00:11:35
оно есть у класса родителя но мы можем
00:11:38
ее сделать более открытую то есть если у
00:11:40
нас
00:11:41
animal была функция майк войск protected
00:11:44
то мы можем по классе док сделать ее
00:11:47
паблик для этого уже нужно явно указать
00:11:50
ключевое слово public таким образом наша
00:11:53
функция майк войск будет видно отовсюду
00:11:56
публичные методы и переменные видны
00:11:59
отовсюду откуда виден сам класс то есть
00:12:01
если бы у нас animal
00:12:03
не имел ключевого слова protected
00:12:06
то есть здесь соответственно ключевое
00:12:08
слово public было бы излишним потому что
00:12:11
у нас и так public у родителям но если
00:12:14
же protected то нам нужно указывать
00:12:17
public если мы хотим сделать его
00:12:18
публичным
00:12:19
если хотим оставлять протектор
00:12:20
поставляем protected не указан вообще
00:12:22
ничего итак давайте резюмируем все то
00:12:26
что мы сегодня узнали у нас давайте
00:12:29
прямо здесь в комментариях будут писать
00:12:31
против катар доступа public позволяет
00:12:34
иметь доступ
00:12:37
откуда угодно
00:12:40
вот доступ только вместе объявления
00:12:44
протектор как и
00:12:48
проймет
00:12:49
плюс наследники напишу так про говорю
00:12:52
голосом еще раз публичные функции классы
00:12:56
переменные видны отовсюду откуда видны
00:13:00
сами классы где они объявлены
00:13:03
правят функции и переменной видны только
00:13:06
там где они объявлены если про его
00:13:09
функция объявлена внутри какого-то
00:13:11
класса то она будет видна только внутри
00:13:13
этого класса и нет куда больше protected
00:13:16
то же самое что и проявит но позволяет
00:13:18
иметь доступ к переменную функциям
00:13:21
помеченным protected еще и у классов
00:13:24
наследников надеюсь все было понятно на
00:13:27
этом сегодня все всем спасибо пока

Описание:

Полный видеокурс по языку программирования Kotlin. В четырнадцатом видео познакомимся с модификаторами доступа. !!Важно!! Повторяйте руками весь код, который вы видите на видео. Просто просмотреть недостаточно. Если возникают вопросы/ошибки пишите в комментах. Будем разбираться вместе. Язык программирования Kotlin используют для создания бэкенда веб-приложений и приложений для Android. Язык похож на Java, но проще по синтаксису. Молодой и востребованный на рынке язык программирования. 00:00 Введение 00:05 Какие бывают модификаторы доступа 00:40 Что такое модификатор доступа? 01:42 Использование модификатора доступа на высоком уровне 04:00 Использование модификатора доступа в классах 12:24 Резюме

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Учим Kotlin с нуля | №14 Модификаторы доступа."?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Учим Kotlin с нуля | №14 Модификаторы доступа." выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Учим Kotlin с нуля | №14 Модификаторы доступа."?mobile menu icon

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

mobile menu iconКак скачать видео "Учим Kotlin с нуля | №14 Модификаторы доступа." на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Учим Kotlin с нуля | №14 Модификаторы доступа."?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Учим Kotlin с нуля | №14 Модификаторы доступа."?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.