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

Скачать "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)"

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

Теги видео

.1
0411
immutable
utility
classes
q&a
dmitry
e
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:01
всем привет начинаем review вот
00:00:07
то есть у нас начинается интересная
00:00:11
работа мы начинаем пользоваться
00:00:14
дьявольски все ее
00:00:17
мощью потихоньку будем
00:00:21
на 1 наращивать вот так не очень быстро
00:00:28
быстро уберу таких спойлером нас не было
00:00:31
вот то есть мы прошли наследование
00:00:36
прошли inference
00:00:40
абстрактные статические все прочее вот
00:00:44
то есть
00:00:48
emploi ютился это как раз вот
00:00:51
случае использования static то есть идея
00:00:55
и утилитарных классов
00:00:58
такая что мы создаем класс в котором все
00:01:02
методы статические внутри метода через
00:01:06
параметры передаются все данные которые
00:01:08
нужны этому методу чтобы сделать работу
00:01:11
и этот метод
00:01:14
допустим наших случаях во всех если
00:01:17
брать домашку то он возвращает знать
00:01:20
какие какие-то значения
00:01:23
вот
00:01:32
то есть допустим
00:01:35
баджи это у нас будет
00:01:41
сумма всех зарплат до
00:02:08
так
00:02:15
ну я вот так понятнее было
00:02:30
должен метод get salary у меня его нет
00:02:34
по-хорошему оно должно быть вата книг
00:02:37
когда уже все правильно реализовано
00:02:40
видите
00:02:44
вот то есть у нас на вход поступает
00:02:48
массив raid in place
00:02:53
для им сумму зарплат всех
00:02:56
employs и возвращаем ее назад то есть
00:02:58
вот у нас есть когда мы работаем с этим
00:03:03
методом у нас все данные которые нужны
00:03:06
поступает через параметры в результате
00:03:09
нам не нужно instance этого класса да и
00:03:13
то есть у нас где-нибудь в main мы потом
00:03:16
можем написать
00:03:22
николай budget и туда переправить
00:03:28
[музыка]
00:03:30
вы
00:03:35
надпись такое ничего не найдет вернёт 0
00:03:38
поскольку массив пустой вот ну то есть
00:03:41
вот
00:03:43
я вам хотел просто показать идею чтобы
00:03:47
если у кого-то была
00:03:50
была проблема с этим
00:03:52
то есть
00:03:54
как где лице утилитарные классы
00:03:58
все остальное вы можете не смотреть это
00:04:01
я просто использовал диалоги ободок
00:04:04
чтобы у меня все было под рукой когда
00:04:08
веку пишу вот то есть это совершенно
00:04:11
необязательно я
00:04:14
буду полезность тем что айди их
00:04:18
вылавливает и составляет список и потом
00:04:22
можно пройти и то есть если вы что-то
00:04:26
пишете вам нужно
00:04:28
поставить заметку что вот это вот сделай
00:04:31
не забудь то есть для этого можно
00:04:34
использовать вот так вот туда вот потом
00:04:37
когда дойдете у вас никто не примет ваш
00:04:41
код если у вас остались какие то туда то
00:04:43
есть идея в том что
00:04:46
мой кот отдаем в проект когда уже задача
00:04:51
решена то есть никаких
00:04:55
закомментированы строк никаких туда
00:04:58
ничего то есть вот это уже финальный
00:05:00
продукт который работает мы его отдаем
00:05:03
вот но для себя поставить заметки просто
00:05:07
чтобы не забыть потому что когда метод
00:05:09
большой то есть их там куча и можно
00:05:12
легко пропустить то есть вот это вот
00:05:15
такой
00:05:17
инструмент чтобы не забыть и
00:05:20
[музыка]
00:05:25
у неё
00:05:26
чате пожалуйста поставьте плюс у нас
00:05:29
review было вообще после лекции хотя бы
00:05:31
одно
00:05:34
нет ни было
00:05:38
пресета у нас сегодня 1 review после
00:05:42
лекции ладно здорово тогда
00:05:44
какие то вопросы не не про домашку а
00:05:49
про то про что сергей рассказывал есть
00:05:54
то есть мы можем те же самые вещи решить
00:05:58
на другие на других примеров не только
00:06:02
нужно будет этот ошибку исправить
00:06:15
дмитрий могу все объяснить как вот
00:06:18
запись вот это делается вот вы написали
00:06:21
for a условия
00:06:24
массив да поэтому это ч а названивали
00:06:28
достал нет этого не было на сколько
00:06:31
может я пропустила эти не было этого на
00:06:34
лекции вот такая форма записи меня я
00:06:37
тогда побежал по впереди паровоза
00:06:41
этот цикл который позволяет пройти spa
00:06:46
collection
00:06:49
то есть это не обязательно массив это
00:06:52
может быть другие типы поэтому сергей
00:06:55
это и не объяснял сейчас вот что бас не
00:06:58
запутает но то есть там принцип в том
00:07:01
что я создаю переменную да вот эту типа
00:07:05
вот этого которая будет идти по массиву
00:07:10
или другим
00:07:13
структурам данных в которых хранятся
00:07:17
члены типа вот этого и для каждого из
00:07:21
этих членов этого
00:07:26
массива или другой структурой выполнит
00:07:29
вот эту вот операцию
00:07:31
то есть это вот так вот и на nuts ltb не
00:07:35
вдаваясь в подробности то есть у нас
00:07:37
будет отдельная лекция на самом деле мне
00:07:40
нужно было сделать апнули at the
00:07:45
rings
00:07:53
[музыка]
00:07:59
то есть она но когда вы
00:08:02
[музыка]
00:08:04
этого не должно быть
00:08:09
как видите она чуть чуть проще вот то
00:08:11
что я писал работать будет точно также
00:08:16
помогает чуть-чуть сократить код когда
00:08:19
не нужен яндекс то есть вот в этой
00:08:21
задачи нужно пройти по всем элементам
00:08:24
массива поэтому не важен индекс можно
00:08:27
использовать другой тип for но вот в
00:08:30
деталях как им пользоваться
00:08:33
сергей расскажет
00:08:35
на будущих лекциях
00:08:39
спасибо
00:08:49
так
00:08:51
а то есть
00:08:54
если вопросов нет
00:08:58
[музыка]
00:09:00
а
00:09:01
можно я еще спрошу дней требует
00:09:05
вот когда сергей объяснял про месяце и
00:09:08
он говорил что мы можем сделать чтобы
00:09:11
наш класс был неизменный и все что мы из
00:09:15
него вызываем вот мне могли бы вы еще
00:09:17
разок правоте ты рассказать как сделать
00:09:21
на неизменность
00:09:28
нет abstract он еще и тоже нам не
00:09:31
говорил
00:09:33
это вот один способ
00:09:35
ну то есть это нельзя делать объекты
00:09:39
этого класса вариант 2 неизменный
00:09:44
измены и всмысле
00:09:46
имеют обл да ну что если допустим у нас
00:09:50
есть месяце конкретные то никто не имеет
00:09:52
права их сэм что они уже должны быть
00:09:55
задниц там сергей стракер использован
00:09:58
наверно про это вопрос ему таба возможно
00:10:01
уже думает о в месяц вот он января
00:10:21
[музыка]
00:10:45
то есть вот то что я сделал сейчас
00:10:47
понятно
00:10:53
то есть я создаю
00:10:55
вот поле
00:10:57
которые снаружи класса видно не будет
00:11:01
то есть доступ к нему будет только
00:11:04
внутри класса я создаю конструктор
00:11:09
который устанавливает это значение в тот
00:11:12
момент когда мы создаем instance кого
00:11:15
класс когда мы создаем экземпляр класса
00:11:18
и
00:11:19
теперь я делаю опять же public метод
00:11:38
ну вот
00:11:39
челси имеют обл
00:11:48
то есть мы единственный момент когда мы
00:11:53
можем записать значение в поле это когда
00:11:58
у нас создается
00:11:59
instance этого класса то есть потом я
00:12:04
здесь
00:12:05
говорю
00:12:07
и
00:12:10
[музыка]
00:12:16
вот так
00:12:31
то есть от мы присвоили на и
00:12:35
и здесь я могу говорить
00:12:42
me in a
00:12:48
normal
00:12:57
она
00:13:00
потому что
00:13:02
чел вот меня мама
00:13:05
на или теперь я могу сказать mount .
00:13:13
результат 123
00:13:15
поменять это значение внутри переменной
00:13:19
man я не могу у меня нет способов то
00:13:23
есть все методы которые у меня есть это
00:13:46
то есть присвоить ясно
00:13:49
бук
00:14:06
это это ладно сейчас попробуем тогда
00:14:09
по-честному сделать
00:14:21
у меня не доступа к этому полю видите да
00:14:25
то есть один залазиет и дает мне доступ
00:14:29
к полям которые нормально недоступны то
00:14:33
есть вот есть когда я пишу код мне это
00:14:36
поле которая провела то она недоступна
00:14:44
можем файлов сделать поскольку она
00:14:47
меняться не будет то есть у нас после
00:14:50
того как задано значение да она меняться
00:14:53
не будет поэтому можно назвать файл и
00:14:58
одеть меня доступ к этому нет это вот та
00:15:03
где работает encapsulation да то есть мы
00:15:08
взяли и вот это поле спрятали от
00:15:11
внешнего мира и доступ к нему дали
00:15:14
только через конструктор и через ветер
00:15:26
ну да valery
00:15:28
все-таки спойлер ну я постараюсь как
00:15:30
можно меньше делать я на вопрос ответил
00:15:35
да большое спасибо вот только теперь что
00:15:38
такое файл сергей тоже это не говорил
00:15:41
файл типа то что нельзя изменять то есть
00:15:44
его значение этой переменной этому полю
00:15:49
можно задать только один раз и после
00:15:52
этого менять нельзя то есть если я
00:15:58
давайте расскажу
00:16:03
то есть я делаю
00:16:05
теперь это класс
00:16:09
обычно с моим
00:16:15
[музыка]
00:16:25
не
00:16:28
но
00:16:30
м
00:16:36
от кино the sun beauty файлов и было
00:16:40
то есть
00:16:42
мне айди
00:16:44
напоминает ты забыл что ты вот здесь вот
00:16:48
файл сделал
00:16:52
то есть айди знает что конструктор
00:16:54
выполняется только один раз два раза
00:16:57
конструктор вызвать нельзя поэтому вот
00:17:00
этого конструктора идеи разрешает а вот
00:17:04
такую штуку уже запрещает ты ж сказал
00:17:06
файл
00:17:07
ну то есть хочешь делать этот убери фай
00:17:10
ну а если хочешь фай ну тогда убери
00:17:15
silter
00:17:17
вот она либо одно либо другое
00:17:19
[музыка]
00:17:23
дай и убрать про лет
00:17:26
если убрать его оставить файлы
00:17:32
не прав вот это
00:17:35
про видимость файлов это про состояние
00:17:43
две разные вещи она как бы одно к
00:17:45
другому можно заменить но смысл их
00:17:49
совершенно разные правят мы прячем это
00:17:52
внутри нашего класса и
00:17:55
наружу выставляем только метод и через
00:17:58
вот этот метод мы контролируем как это
00:18:00
делается в вашем домашнем работе пример
00:18:05
такому гетце лари
00:18:09
где
00:18:11
salary вообще не хранится то есть у вас
00:18:14
нет такого поля по заданию
00:18:17
она вычисляется и причем для разных
00:18:21
классов она вычисли вычисляются по
00:18:24
разным правилам и
00:18:26
это как раз то гибкость которая нам дает
00:18:31
encapsulation в том числе то есть
00:18:35
поскольку мы это спрятали да
00:18:37
то есть снаружи никто сюда не может
00:18:40
записать мы полностью контролируем что
00:18:42
происходит через методы через код
00:18:45
методов и в результате мы можем
00:18:47
создавать что-то что что работает по
00:18:52
другому
00:18:53
нежели если мы просто открыли здесь всем
00:18:57
и
00:19:00
тогда
00:19:02
один из вариантов здесь может вестись
00:19:06
какая-то проверка
00:19:08
допустим в реальном проекте с реальными
00:19:11
вещами
00:19:13
вот но не в гипере офсайте ряда там
00:19:18
может стоять проверка и каждый раз когда
00:19:21
вы записываете значение будет
00:19:24
проводиться это проверка
00:19:28
вот да дарья
00:19:32
дмитрий а можно мне задать вопрос про
00:19:35
код который сергея писал на на лекции
00:19:40
там он когда писала массив я сейчас
00:19:44
правда что прошло
00:19:46
вот посмотрите пожалуйста строка s iv
00:19:49
там есть мин . эйдж и
00:19:52
вот это мин это переменная
00:19:57
вот этого for a эйдж это поле поля
00:20:01
класса текущего и вот мне не понятно как
00:20:04
мы от переменной for вызвали поля эйдж
00:20:09
можно это просмотреть
00:20:14
если вы хотите я но это был первый
00:20:18
поменяю она куда не черствым боли и
00:20:26
поля эйдж получается поле класса
00:20:39
давайте по-русски
00:20:40
видишь
00:20:42
так сделаем
00:20:48
ну вот cube
00:20:52
так и
00:20:54
[музыка] и
00:20:57
то есть мы берем
00:21:00
говорим что у нас минимальные мглу и то
00:21:04
есть по-хорошему
00:21:06
здесь нужно добавить
00:21:08
если
00:21:13
на
00:21:16
[музыка]
00:21:24
мамулю
00:21:32
мама
00:21:33
так
00:21:37
это чтобы ошибки вот этой не было point
00:21:41
на матрице то есть получается что
00:21:46
если у нас
00:21:49
сам массив знал или него 0 длина вот как
00:21:54
я вот здесь вот сделал да это будет 0
00:21:57
длина
00:22:02
я могу вот так вот сделать это будет нам
00:22:18
чарлз местную ну то есть вот в этих двух
00:22:23
случаях да вот этот код даст ошибку
00:22:28
чтобы найти я здесь ставлю проверку что
00:22:32
если у нас рей мал или у нас raid 0
00:22:37
длины то тогда
00:22:40
никакой
00:22:42
минимального возраста не будет да
00:22:46
никакого implore с минимальным возрастом
00:22:48
не будет поэтому я возвращаю нам еще
00:22:53
один вариант
00:22:55
весь можно сказать
00:22:59
row и потом
00:23:02
добавить код чтобы создать ошибки я не
00:23:06
буду подойти потому что цифры не
00:23:08
объяснял как вот тут то есть вот два
00:23:10
способа борьбы с такой ситуации вернуть
00:23:13
нам и тогда описать что в случае если
00:23:17
массив пустой или
00:23:19
параметр пустой массив или параметр
00:23:22
налто вернется
00:23:25
вот если у нас
00:23:29
здесь не пустой массив
00:23:32
там и тогда
00:23:35
[музыка]
00:23:36
emploi присылаем наук
00:23:41
не
00:23:43
можно только вот так надо делать
00:23:48
то есть случае с
00:23:51
нулевым количеством элементов у нас про
00:23:55
работается то есть когда и равно нулю и
00:23:59
она меньше чем длина а длина у нас ноль
00:24:02
то есть мы вот в этот цикл при
00:24:05
вот в этом месте мы в этот цикл не
00:24:08
зайдем и просто проскочим и вернем эту
00:24:12
переменную то весь вернем ну
00:24:17
давайте посмотрим как это работает в
00:24:20
обоих случаях
00:24:26
так мы под
00:24:28
да
00:24:29
вот
00:24:31
у нас
00:24:32
массив есть да но он пустой там ничего
00:24:36
нет
00:24:38
можно посмотреть
00:24:46
причем
00:24:48
этого массива 0
00:24:51
вот поэтому когда мы доходим сюда
00:24:56
конь стал
00:24:58
наш минимум
00:25:01
вот
00:25:02
цикл у нас не выполняется ни разу и мы
00:25:06
возвращаем на у все работа сделана
00:25:10
следующее у нас параметр нал да и у нас
00:25:17
вы не менту наслал и параметр у нас мы
00:25:21
проверяем
00:25:22
заходим сюда возвращаем 0 и дам все
00:25:28
понятно
00:25:30
понятно очень увлекательно намажьте
00:25:33
объяснить от строке 20 когда у нас мин .
00:25:37
эйдж то есть у нас вот это мин это
00:25:39
переменная kk
00:25:41
этого
00:25:43
get my mistake а вот это . ешь ешь это
00:25:47
как поле класса и как мы от переменной
00:25:51
мин можем вызвать поле класс это сложно
00:25:55
описать сложно она у нас не поля класса
00:25:58
она не поле класса было бы
00:26:03
стать и
00:26:05
вот тогда мне
00:26:08
вот здесь вот не
00:26:12
должно позволить
00:26:24
мне есть ли
00:26:30
аналог что этого печь здесь нет
00:26:36
она описать подает но работать это дело
00:26:40
не будет
00:26:47
а не будет поскольку мы туда даже не
00:26:50
заходим так
00:27:01
вы
00:27:02
[музыка]
00:27:10
он был
00:27:15
вы
00:27:39
у меня начинаются проблемы
00:27:42
то что я чуть сделать меня где
00:27:44
предупреждаю так не надо так нельзя
00:27:47
его нужно
00:27:49
это не instance мир и
00:27:53
поэтому то есть и по
00:27:55
логике да у нас возраст не может быть
00:27:59
полем им play не может быть полем этого
00:28:02
класса логически у каждого экземпляра
00:28:06
у каждого объекта этого класса будет
00:28:09
свой собственный возраст а не один на
00:28:12
всех
00:28:17
вот то есть вот что можно сделать на
00:28:20
[музыка]
00:28:33
[музыка]
00:28:37
возраст которого можно принимать на
00:28:40
работу да то есть
00:28:42
логически такое
00:28:46
конечно грамматическую ошибку допускаю
00:29:00
то есть это
00:29:02
какие-то данные которые относятся к
00:29:08
егэ
00:29:10
спасибо
00:29:12
то есть какие то данные которые
00:29:15
относятся ко всей сущности вот этой
00:29:18
то есть в данном случае то есть я
00:29:21
придумал что
00:29:24
допустим ли вич с которого можно
00:29:27
принимать на работу
00:29:29
то он такой и потом
00:29:32
допустим когда у нас
00:29:36
посмотрим если
00:29:40
или будет меньший чем
00:29:44
лигалайз там и тогда и
00:29:50
здесь
00:29:53
пишем код чтобы создать ошибку что
00:29:56
такого работника на работу принимать
00:29:59
нельзя вот можно так написать нужно
00:30:02
написать полное
00:30:07
так случае она обращается через класс к
00:30:12
статическим
00:30:13
членом идет обращение через класс вот
00:30:18
точно так же как мы создавали
00:30:20
в этом
00:30:24
в где в этом как юлий баджи да и когда я
00:30:30
его здесь вызываю и
00:30:33
я пишу
00:30:36
имя класса и
00:30:40
потом его метод
00:30:43
то есть я сдаю
00:30:46
объект и они создают instance я не
00:30:49
создаю экземпляр этого класса
00:30:54
то есть это что называется переменной
00:30:57
класса может быть
00:31:02
те
00:31:04
которые будут в каждом объекте да как
00:31:07
вот эти они являются
00:31:11
полями этого класса они являются
00:31:15
переменными
00:31:17
экземпляра
00:31:19
может быть
00:31:21
поэтому
00:31:27
есть если брать говорить совсем точно у
00:31:30
класса и у объекта нет переменных у них
00:31:34
есть поля
00:31:36
у класса поля статические методы у
00:31:40
[музыка]
00:31:42
экземпляров а вот они есть вот эти вот
00:31:45
не статические
00:31:51
то есть
00:31:53
еще премьер
00:31:56
ucla intreccio есть два
00:32:05
даже
00:32:16
действо
00:32:18
оля класса который static
00:32:23
константа максимальное значение вот она
00:32:26
одну у
00:32:28
целого то есть смысл его хранить в
00:32:31
каждом экземпляре этого класса integers-
00:32:35
нет совершенно никакого то есть оно
00:32:37
единственное точно также как там
00:32:41
математики будет пай это число пи вот
00:32:45
оно есть и нам не нужно их много нам
00:32:49
нужно одно поэтому в таких случаях
00:32:51
используются статикой она хранится
00:32:54
вместе с классом
00:32:56
не с экземплярами
00:32:59
смотрите еще как можно
00:33:02
если мы говорим что класс это как бы как
00:33:06
чертеж да то вот эти статические
00:33:09
переменные хранятся вместе с чертежом
00:33:13
переменные все остальные не статические
00:33:16
хранятся уже с теми вещами которые мы
00:33:20
делаем по чертежу и у каждой этой вещи
00:33:23
они будут собственные
00:33:27
то есть может быть вот это вам поможет
00:33:32
так ну
00:33:34
с вопросы на которые я так и не ответил
00:33:37
да дави
00:33:42
давайте не увлекательно рассказывать и
00:33:44
поэтому мне страшно так так в чём вопрос
00:33:49
смотрите длятся 22 у нас есть мин . эйдж
00:33:55
вот это мин мы создали в строке
00:34:00
20 а эйдж мы вызвали от этой строки вот
00:34:05
как так получилось что ешь мы можем
00:34:09
вызвать строки которую создали в 20 веке
00:34:14
ну так смотрите у нас
00:34:19
переменная мин то есть ее по-хорошему
00:34:22
дабы перемен на плохое плохая
00:34:25
[музыка]
00:34:28
она
00:34:29
бутылку
00:34:36
это glory которые мы еще
00:34:40
так стало понятней
00:34:46
то есть теперь мы говорим что или
00:34:49
возраста им твои должен быть больше ой
00:34:56
но то есть
00:34:58
смотрите вот здесь мы создаем переменную
00:35:02
тепло и или
00:35:09
[музыка]
00:35:13
или мин да то есть у нас вот эта
00:35:17
переменная будет хранить значение вот
00:35:21
этого типа
00:35:23
то есть если мы запишем здесь вот так
00:35:26
вот а вот эта переменная у нас будет
00:35:28
хранить целое правильно
00:35:31
то есть я
00:35:35
так сильно беспокоилась и не
00:35:38
intelligence то есть
00:35:40
переменная мем у нас типа int . здесь
00:35:44
все понятно
00:35:50
он
00:35:51
у нас
00:35:53
а
00:35:55
раньше у меня этого нету
00:35:58
мы искали в массиве
00:36:02
ну давайте сделаем а
00:36:07
минимальная максимальная которая ты
00:36:09
учишь до
00:37:03
вот алгоритм поиска вот здесь вот
00:37:06
понятно
00:37:08
почему
00:37:12
эмаль нам у прироста присваиваю
00:37:18
понятно но вот здесь вот точно так же
00:37:21
только у нас единственная разница
00:37:25
мы создали новый класс новый тип на то
00:37:30
есть вот каждый класс это тип и мы их
00:37:33
создаем сами
00:37:35
под те нужды которые нам нужны
00:37:38
вот и у нас переменная типа in plain
00:37:42
будет вот этот
00:37:47
и потом то есть поскольку это переменная
00:37:50
типа int ло и у
00:37:52
типа incline у класса им play есть
00:37:57
поле эйч
00:38:00
результате мы совершенно спокойно можем
00:38:03
обращаться к этому полю и
00:38:06
вот здесь вот у нас массив да
00:38:10
типа
00:38:12
emploi у нас ray of and lois
00:38:17
поэтому каждый отдельный
00:38:20
член этого массива член этого я ни баров
00:38:25
ари у нас будет им play
00:38:29
[музыка]
00:38:32
ведь когда мы пишем метод уже для вот мы
00:38:38
static и уже пишем impala и там например
00:38:40
или менеджер вот именно сюда до меня
00:38:46
я сделал этот класс in playa совершенно
00:38:50
рудиментарным такой что у него там
00:38:52
только
00:38:54
даже с нулевым возрастом да то есть у
00:38:58
этого класса конструктор сейчас
00:39:09
ладно пусть остается
00:39:24
на поменяли надо
00:39:33
совсем норм
00:39:35
[музыка]
00:39:44
единственно
00:39:46
мне нужно будет чтобы всё работало
00:39:51
дать больше чем
00:39:54
есть
00:39:57
[музыка]
00:40:06
да
00:40:12
он
00:40:14
нужно
00:40:17
[музыка]
00:40:28
про что я вам покажу это дело
00:40:32
[музыка]
00:40:34
где нынче
00:41:22
вроде все про мы
00:41:30
так
00:41:33
страх поэтому мне нужно его здесь
00:41:35
реализовать
00:41:36
[музыка]
00:41:40
но
00:41:53
это
00:41:54
самое
00:41:58
с тем вроде бы совсем разобрался
00:42:02
мы
00:42:04
так вот то что у меня была ошибка дам
00:42:07
поскольку я в классе им play создал
00:42:10
конструктор
00:42:11
все классы которые у меня от него
00:42:14
наследуют у
00:42:16
них должен быть конструктор с таким же
00:42:21
zegna чё
00:42:23
подписью меня не знают как по-русски
00:42:27
вот это есть я беру и создаю конструктор
00:42:31
в котором вызываю конструктор
00:42:34
родительский в данном случае им плове и
00:42:40
то же самое здесь
00:42:49
вечер инструктор нужно изначально вам
00:42:52
двоим вам твои мне нужен был конструктор
00:42:55
чтобы возраст задать
00:42:57
то есть я вот здесь создаю массив из
00:43:00
employs да мы ищем возраст
00:43:06
вот в этом методе да то есть у этих
00:43:10
переменных этого типа должен быть хотя
00:43:13
бы возраст то есть я поэтому создал мини
00:43:16
нужно я задал через конструктор чтобы
00:43:20
мне можно было вот таким вот образом
00:43:24
создать
00:43:25
побыстрее попроще чтобы вот прям вот эти
00:43:29
цифры записать и да что
00:43:32
то есть у меня теперь в классе им плове
00:43:35
конструктор с одним параметром
00:43:37
возраст но ты записал ну вы записали
00:43:41
много получается скобках там и 15 ну то
00:43:44
есть несколько можно дать это
00:43:46
время виду что
00:43:49
1532 три члена массива можно на ты
00:43:54
вижу проще вот но это то здесь у меня
00:43:58
будет массив импульс который будет
00:44:01
состоять из трех членов а где
00:44:05
можно вопрос а почему три с одинаковыми
00:44:09
именами и тоже тепла разные переменные у
00:44:12
этих переменных нефть имен я создаю
00:44:17
вообще без имени до этого только китаю
00:44:21
объект и его сразу записываем в массив я
00:44:25
не создаю переменную
00:44:27
так я похоже
00:44:30
поспешил чуть-чуть то есть вот такая вот
00:44:33
запись можно сделать а можно еще вопрос
00:44:36
вот это вот всё я понял
00:44:39
ускоряется для того чтобы только по
00:44:41
возрасту а если создадутся нормальные
00:44:44
массивы им плееров имя и так далее
00:44:47
возраст
00:44:49
все заполнить нужно будет olight а вот у
00:44:52
класса employee вот здесь сюда в
00:44:55
конструктор
00:44:56
генами остановить
00:44:58
и когда вы будете пользоваться этим
00:45:00
конструктором вам все хоть все эти
00:45:02
перемены нужно будет передавать да я
00:45:05
поэтому чтобы побыстрее здесь сделать
00:45:07
чтобы поменьше писать
00:45:10
это понятно а вопрос другом вот потом
00:45:13
рикер emploi мин он вернет если например
00:45:16
все была заполнена имя и так далее он
00:45:19
вернет минимального employer а со всеми
00:45:21
полями правильно да то есть с именем
00:45:24
зарплатой и так далее да да то есть
00:45:28
матрасе метод он работает не с
00:45:32
зарплатами с возрастом до то есть здесь
00:45:37
ищется emploi с минимальным возрастом то
00:45:40
есть это как бы сортировка идет по
00:45:42
возрасту но возвращается полностью
00:45:44
employer счастья газировка не идет
00:45:46
сортировка это другое имеется не
00:45:48
сортировка до выбирается минимальный и
00:45:51
плеер с минимальным возраст не на деле
00:45:53
разница существенна то есть
00:45:56
сортировка да у нас при сортировке у нас
00:46:00
все элементы выстраиваются до извините я
00:46:03
неправильно сказал здесь мы просто ищем
00:46:06
минимальная это гораздо менее трудно за
00:46:10
менее затратной операция поэтому как бы
00:46:14
есть очень большая разница между
00:46:16
сортировкой и поиском минимального
00:46:19
иногда чтобы
00:46:21
сократить до можно вызвать какой-нибудь
00:46:24
метод который нам от сортирует и потом
00:46:26
взять первый или последний да
00:46:30
но это получается очень дорогой способ
00:46:36
достичь своей цели то есть мало писать
00:46:39
но мало думать но очень дорого в
00:46:42
исполнении
00:46:46
то есть я могу и
00:46:56
его назову и 2 из 2
00:47:01
а
00:47:02
сюда передам и
00:47:10
[музыка]
00:47:16
то есть вот это вот строчка и
00:47:21
вот и те
00:47:23
четыре строчки создадут массивы с
00:47:27
абсолютно
00:47:29
идентичными объектами
00:47:34
просто здесь здесь мы создаем переменную
00:47:38
до записываем туда создаем объект то
00:47:42
есть вот здесь вот еще раз давайте чтобы
00:47:45
точно
00:47:47
представляли что происходит
00:47:51
здесь
00:47:52
мы создаем экземпляр
00:47:55
объекты им play вызывая конструктор
00:47:59
передаем передавая туда аргумент 15
00:48:04
здесь мы создаем переменную типа emploi
00:48:09
даем ей имя эй а здесь мы в эту
00:48:14
переменную присваиваем вот это значение
00:48:17
мы перед и записываем туда reference на
00:48:21
то где хранится вот этот объект
00:48:29
то есть
00:48:31
часть понятно это как раз таки адресуют
00:48:34
ваши
00:48:37
непонятки с вот этой вот записью должно
00:48:41
по крайней мере ну да теперь уже понятно
00:48:43
такое не видели еще записи
00:48:49
мне вопрос есть по конструктору
00:48:51
открыто жестким твоей класс там есть
00:48:55
проверочка по поводу legal edge я не
00:48:57
понимаю 22 став руку двадцать вторая
00:49:00
строчка смысла никакого не имеет я
00:49:03
просто сюда записал по-хорошему здесь
00:49:06
должно быть
00:49:07
если как знаю что она там пишется дальше
00:49:10
так я понял сюда выкидывать
00:49:14
просто мне здесь с ошибка не нужно иначе
00:49:17
работать ничего не будет понял посему мы
00:49:21
создали локальной переменной и как
00:49:23
заглушку я не понял откуда у и magirus я
00:49:26
просто
00:49:28
это можно вообще убрать я просто-
00:49:31
показывал как там с максимальным
00:49:34
осевых можно оставить вот так вот можно
00:49:36
вообще это убрать но здесь логика должна
00:49:40
быть чуть-чуть другая хорошая
00:49:43
заметка спасибо
00:49:47
да да да вы еще долго будете
00:49:51
степан чар давай две минуты хорошо я
00:49:55
извиняюсь я
00:49:57
заглянул чуть-чуть оставить вот то есть
00:49:59
мы создали массив этот здесь или здесь у
00:50:06
нас одно и то же да и мы этот массив
00:50:09
передаем вот здесь в наш
00:50:14
этот который мы здесь написали
00:50:18
[музыка]
00:50:29
q
00:50:38
так и когда мы подходим сюда у нас вот
00:50:41
есть массив с тремя
00:50:45
работника мест вами trim place у одного
00:50:49
возраст 15 у другого 30 eu 3 20 именно
00:50:55
так как мы их здесь создавали 15-30 20
00:50:59
все остальные поля у них ноль и ну
00:51:03
поскольку мы им значение не задавали те
00:51:07
которые reference string там ну те
00:51:10
которые целые там 0 то есть тут
00:51:13
сюрпризов не должно быть и потом мы
00:51:16
пошли дальше вот собственно вот здесь
00:51:19
вот да мы смотрим
00:51:22
вот этот вот emploi мин который мы
00:51:25
создали он ну
00:51:28
то есть на на данном этапе у него нет
00:51:32
никаких значений поэтому собственно
00:51:34
выполняется вот это вот часть и мы
00:51:38
заходим внутрь
00:51:40
заходим сюда и у нас теперь в этой
00:51:43
переменной claiming хранится наш вот
00:51:47
этот вот первый слой мы движемся дальше
00:51:50
теперь мы смотрим вот это вот часть
00:51:53
вычисляется как фолз да
00:51:56
теперь смотрим на собственном и
00:51:59
минимальный возраст уже нашли а
00:52:03
вот можно сказать первые
00:52:09
даруя
00:52:12
[музыка]
00:52:14
не не дает ладно тогда нельзя
00:52:20
то есть у нас возраст 15 у
00:52:24
первого элемента 30 это
00:52:28
ты не выполняется и мы сюда не заходим и
00:52:33
идем опять у нас теперь последний
00:52:37
элемент возраст 20 опять 1 не
00:52:41
выполняется 2 не выполняется мы сюда не
00:52:44
заходим
00:52:46
уходим дальше у нас кончились элементы и
00:52:50
мы возвращаем им плохими и
00:52:53
все
00:53:00
баня подарю
00:53:03
таком
00:53:14
сейчас секунду ты запись вашего короля

Описание:

На этой странице вы можете по ссылке скачать медиафайл «7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)» максимально возможного качества БЕЗ каких-либо ограничений на количество загрузок и скорость скачивания.

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

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

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

mobile menu iconКак можно скачать видео "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)"?mobile menu icon

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

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

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

mobile menu iconКакой формат видео "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)" выбрать?mobile menu icon

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

mobile menu iconПочему компьютер зависает при загрузке видео "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)"?mobile menu icon

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

mobile menu iconКак скачать видео "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)" на телефон?mobile menu icon

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

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)"?mobile menu icon

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

mobile menu iconКак сохранить кадр из видео "7.1 (04/11) Immutable, utility Classes, Q&A (Dmitry E)"?mobile menu icon

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

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

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