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

Скачать "Основы C# - #3 - Наследование и Инкапсуляция"

input logo icon
Теги видео
|

Теги видео

ООП
Наследование
Инкапсуляция
Основы C#
C#
сишарп
s sharp
уроки по C#
Loftblog
loft blog
лофтблог
лофт блог
урок
курс
образование
обучение
видеоурок
верстка
программирование
вебинар
интервью
новости web
web
веб
frontend
backend
фронтенд
бэкенд
html
css
js
php
lesson
programming
training
courses
сайт
верстка сайта
администрирование
сделать сайт
приложения на телефон
свое приложение
вебпрограммист
csharp
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:00
Привет Ты смотришь курс основа CP на
00:00:02
канале Love Blog Меня зовут Даня сегодня
00:00:04
мы на практике разберёмся подробно с
00:00:06
механизмами наследования и
00:00:08
инкапсуляции два основных механизма
00:00:11
объектно-ориентированного
00:00:12
программирования напомню что механизм
00:00:14
наследования позволяет нам получить
00:00:16
доступ к функционалу базового класса из
00:00:19
его дочернего класса и разберём мы это
00:00:21
всё на очень простом примере с животными
00:00:24
Итак предположим Нам необходимо описать
00:00:27
два вида животных Это кошка и собака для
00:00:30
этого я создал три класса Первый класс
00:00:33
базовый в котором будут прописаны общие
00:00:35
параметры для этих двух животных и
00:00:37
назвал я его и два класса для описания
00:00:40
самих животных то есть класс для
00:00:42
описания кошки и класс дог для описания
00:00:45
собаки давайте для начала унаследует
00:00:48
класса an чтобы получать его функционал
00:00:52
в этих классах вче
00:00:56
длям Зато
00:01:00
имени объявленного класса И после этого
00:01:02
мы пишем просто название того класса от
00:01:05
которого хотим этот унаследовать в
00:01:07
данном случае нам оба класса надо
00:01:08
наследовать от
00:01:10
Animal тоже самое проделываем с кошечкой
00:01:13
теперь эти два класса у нас являются
00:01:16
дочерними классами от класса Animal и мы
00:01:19
можем приступать к заполнению класса
00:01:20
anim здесь для простоты Мы введём один
00:01:24
параметр этот параметр будет текстового
00:01:26
типа и называться он будет он будет
00:01:29
содержать
00:01:31
того или иного
00:01:34
животного Итак давайте же попробуем
00:01:36
получить доступ к этому параметру внутри
00:01:38
какого-нибудь из дочерних классов для
00:01:41
этого создадим публичную
00:01:43
функцию которую назовём
00:01:50
Баг и внутри этой публичной функции
00:01:53
просто по имени попробуем обрати к этому
00:01:56
элементу как мы види Ниго получа
00:02:01
ти механизма
00:02:03
инкапсуляции как я уже говорил на
00:02:05
прошлом уроке существует такая веь как
00:02:07
модификаторы доступа так вот по
00:02:10
умолчанию модификатор доступа на всех
00:02:12
элементах стоит как то есть он запрещает
00:02:16
доступ к этому элементу за пределами
00:02:19
класса в котором он был объявлен в
00:02:22
данном случае у нас произошло
00:02:24
наследование оно произошло успешно то
00:02:26
есть мы получили внутри этих классов
00:02:29
при этом доступ к этому элементу мы не
00:02:33
получили То есть он здесь есть он здесь
00:02:34
хранится в этом классе но использовать
00:02:36
никак мы его не можем потому что он
00:02:39
приватный Давайте попробуем изменить
00:02:41
модификатор доступа внутри класса Animal
00:02:43
для того чтобы мы смогли пользоваться
00:02:45
параметр name Делается это очень просто
00:02:47
опять же перед типом этого элемента мы
00:02:50
должны указать соответствующее ключевое
00:02:53
слово ключевому слову вернее
00:02:55
модификатору доступа Протек
00:02:57
соответствует как не удивительно
00:03:00
ключевое слово про Так мы и
00:03:06
пишем Всё теперь этот элемент у нас
00:03:10
доступен не только внутри данного класса
00:03:12
но ещё и внутри дочерних от данного
00:03:15
класса переходим допустим в C и мы видим
00:03:18
что у нас здесь спокойно появляется и мы
00:03:21
можем его использовать естественно можем
00:03:23
задавать ему значение что мы сейчас и
00:03:25
сделаем кошку мы допустим назовём Барсик
00:03:32
Давайте скопирую эту функцию перейдём в
00:03:34
ла
00:03:35
do назовём уже
00:03:38
здесь собаку не Барсик а не знаю там
00:03:41
Рекс допустим такие стандартные имена
00:03:44
будем использовать всё то есть Теперь у
00:03:46
нас есть класс anim базовый класс в
00:03:49
котором
00:03:50
хранится частично защищённый член
00:03:53
текстового типа который используется ВХ
00:03:57
дочерних ласа
00:04:00
знание ба здесь мы прис ему
00:04:03
значение Теперь мы перейдём в клас prr в
00:04:07
котором есть у нас функция Main которая
00:04:09
вызывается по старту программы и здесь
00:04:12
получим экземпляры двух этих классов и
00:04:14
вызовем функцию debug у каждого из этих
00:04:20
классов Обращаемся к классу C с
00:04:23
маленькой буквы Да даём экземпляру имя и
00:04:28
собственно его создаём
00:04:31
только имя мы ему дадим с большой буквой
00:04:37
Cat то же самое проделаем с
00:04:41
Dog Обращаемся к классу Doc задаём имя
00:04:45
экземпляру и
00:04:50
создаём то есть вот эти вот строчки две
00:04:53
они создают объекты класса Cat и класса
00:04:56
Doc То есть под них уже выделяется
00:04:58
память в компьютере
00:05:00
И теперь мы можем обращаться к каким-то
00:05:02
элементам этих двух классах публичным то
00:05:05
есть которые нам доступны в этом классе
00:05:06
уже в классе
00:05:08
програ и с ними производить какие-то
00:05:11
действия в нашем случае я предлагаю
00:05:13
просто выводить имя
00:05:15
этих членов в консоль то есть Давайте
00:05:19
пропишет В
00:05:22
каждом классе которая будет у нас
00:05:25
выводить в консоль с переводом строки
00:05:33
параметр
00:05:35
name то же самое пропишет в
00:05:41
собаки и здесь мы просто будем вызывать
00:05:45
у экземпляров метод дебаг у будем
00:05:49
вызывать дебаг и у док будем
00:05:52
вызывать дебаг
00:06:01
перед тем как запустить мы естественно
00:06:04
пропишет команду задержки консоли чтобы
00:06:06
она у нас сразу не закрывалась и мы
00:06:09
успели рассмотреть что она нам выдала и
00:06:11
теперь в принципе можно
00:06:13
запускать нажимаем
00:06:15
старт и видим что нам консоль выдала
00:06:19
сначала Барсика и потом Рекса То
00:06:23
есть в принципе в принципе у нас
00:06:26
параметр То есть это од переменная
00:06:29
которы приво которая называется Да
00:06:32
протекто но при этом параметры у нас
00:06:35
разные то есть для каждого класса у нас
00:06:37
разные параметры в этом собственно есть
00:06:39
смысл наследования использовать одни и
00:06:40
те же параметры с разными значениями для
00:06:43
разных каких-то классов которые в
00:06:45
последствии создают
00:06:48
объекты Вот это вкратце про наследование
00:06:50
и инкапсуляции вот Мы заметили что здесь
00:06:53
у нас стоит модификатор па он не
00:06:55
случайно здесь стоит если его поставить
00:06:57
или просто убрать допустим то в
00:07:00
программе мы естественно получить ВС это
00:07:02
дело не сможем То есть дебаг у нас
00:07:04
подчеркнёт потому что он приватный
00:07:06
функции как и любые другие элементы
00:07:09
можно отмечать модификаторами доступа
00:07:11
Вот но сейчас не суть Сейчас я расскажу
00:07:13
про ещё одну фишку которая имеет
00:07:16
непосредственное отношение к
00:07:18
наследованию это запечатанные классы что
00:07:21
это вообще такое запечатанные классы -
00:07:24
это классы от которых нельзя ничего
00:07:26
наследовать То есть если мы сейчас
00:07:29
сделаем класс Animal запечатаны А
00:07:31
делается это с помощью модификатора
00:07:33
Cot который у нас перед соответственно
00:07:36
типом
00:07:43
указывается то есть здесь у нас через
00:07:45
какое-то время появится когда студия всё
00:07:48
это обработает Вот появилась ошибка а то
00:07:50
есть мы не можем наследовать какой-то
00:07:53
класс неважно какой от класса Animal
00:07:56
потому что класс Animal запечатанный от
00:07:58
него нельзя насле
00:08:00
тоже самое мы можем провернуть и с
00:08:02
каким-то конкретным элементом класса то
00:08:04
есть мы можем этот модификатор взять и
00:08:06
присвоить допустим Ринго
00:08:10
параметру и тогда уже здесь будет ошибка
00:08:13
Почему Потому что мы не можем получить
00:08:15
этот параметр мы не можем наследовать
00:08:17
Конкретно этот параметр То есть все
00:08:20
параметры наследовать как бы класс можем
00:08:22
Да вот зде
00:08:24
хбо при этова кого
00:08:30
мы не можем если мы здесь создадим ещ
00:08:32
какой-то член не знаю возьмём скору Вот
00:08:35
эту вот строчку
00:08:40
Да вставим её вот сюда же и поменяем
00:08:43
как-нибудь
00:08:45
и допустим Не не А возьмём Сан звук
00:08:49
который издаёт это животное то мы
00:08:51
спокойно сможем его здесь получить ИТ
00:08:55
никах пом
00:08:59
параметр мы получать не можем потому что
00:09:01
он отмечен этим модификатором Ну вот
00:09:04
собственно нужно для того чтобы избежать
00:09:06
ненужного наследования каких-то членов
00:09:08
или наследование каких-то классов это
00:09:12
достаточно сильно отличается от просто
00:09:13
использования модификаторов доступа
00:09:15
Потому что если бы у нас здесь не стояло
00:09:17
ровным счётом ничего То есть если вот
00:09:19
это вот убрать если здесь бы просто
00:09:21
стоял модификатор доступа Прат то
00:09:24
наследование у нас бы ВС равно
00:09:25
происходило и
00:09:28
это в каждом из дочерних классов но при
00:09:31
этом мы ничего бы не смогли с ним делать
00:09:34
то есть он как бы там был но обращаться
00:09:36
и менять его значения мы бы не могли в
00:09:38
случае с тон его там просто не будет то
00:09:41
есть он наследоваться не будет Ну вот мы
00:09:43
разобрались на практике с механизмом
00:09:45
наследования с механизмом инкапсуляции в
00:09:48
следующем уроке разберёмся с механизмом
00:09:51
полиморфизма на сегодня всё это был курс
00:09:54
основа CP на канале Love Blog Меня зовут
00:09:56
Даня Всем спасибо за внимание До скорых
00:09:58
встреч M

Описание:

Пройди БЕСПЛАТНО профориентацию в IT - https://loftschool.com/free/career/ Подробный разбор двух основных принципов ООП - Наследование и Инкапсуляция Полезные ссылки: Скачать Visual Studio - https://visualstudio.microsoft.com/downloads/ Автор - https://vk.com/daszma Канал автора - https://www.youtube.com/channel/UCZO9yIj-TTkJuUkpiSbxo6w Школа онлайн-образования: https://loftschool.com/ Telegram: https://telegram.me/loftblog Slack: http://slack.loftblog.ru/ Сайт: https://loftschool.com/ Instagram: https://www.facebook.com/unsupportedbrowser Группа вконтакте: http://vk.com/loftblog Facebook: https://www.facebook.com/unsupportedbrowser Twitter: http://twitter.com/loft_blog Больше уроков от lofblog: #loftblog Все уроки по хештегу: #loftblogCSharp Полезные уроки для веб-программиста: ----------------------------------------------------------------------------------- Не забываем, что самый лучший способ сказать "спасибо" - нажать кнопку "нравится" и скинуть ссылку на урок друзьям. Ничто другое так сильно не мотивирует автора продолжать работу :)

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

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

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

mobile menu iconКак можно скачать видео "Основы C# - #3 - Наследование и Инкапсуляция"?mobile menu icon

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

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

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

mobile menu iconКакой формат видео "Основы C# - #3 - Наследование и Инкапсуляция" выбрать?mobile menu icon

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

mobile menu iconПочему компьютер зависает при загрузке видео "Основы C# - #3 - Наследование и Инкапсуляция"?mobile menu icon

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

mobile menu iconКак скачать видео "Основы C# - #3 - Наследование и Инкапсуляция" на телефон?mobile menu icon

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

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Основы C# - #3 - Наследование и Инкапсуляция"?mobile menu icon

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

mobile menu iconКак сохранить кадр из видео "Основы C# - #3 - Наследование и Инкапсуляция"?mobile menu icon

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

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

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