Урок 5: 'Основы Dart - основы классов'

preview_player
Показать описание
______
______
______
______
Рекомендации по теме
Комментарии
Автор

0:00 План урока и немного о следующих уроках
0:45 Нужно забрать кота 😼
1:05 Начинает говорить про классы
3:37 Кота выгнали 😿
4:00 Решает задачу с картотекой работников без использования классов
11:20 Пишет класс для решения задачи с картотекой работников
13:39 Как создать объект класса. Конструктор
18:33 Классы — это типы. Объекты — это значения классов
20:30 Свойства (переменные внутри класса)
27:16 Методы (функции внутри класса)
33:17 Табличка соответствия понятий
переменные — свойства
функции — методы (вдобавок есть this)
34:42 Иногда можно без this
35:42 Итоги первой части урока
35:57 Свойства и методы по умолчанию
37:04 Метод toString() и его переопределение.
40:33 Ещё немного про методы
41:52 Конструктор с инициализатором, именованный конструктор, тело конструктора.
49:02 Геттеры (вычисляемые свойства)
52:55 Сравнение объектов. Переопределение оператора == внутри класса
1:00:11 — 1:10:22 Передача по ссылке vs передача по значению
1:11:04 Слова утешения тем, кто не понял урок с первого раза
1:12:23 Что прошли за урок и что будет дальше

gammadov
Автор

Это видео не просто "База понимания классов", а просто база. Смотрю уже 5ый урок, работаю сисадмином и флаттер учу, спасибо)

СобакаСобака-щц
Автор

Небольшая уточнение, чтобы не путались те кто смотрит. У квадрата переменные будут "height" and "width", длинна "length" это по части прямоугольника, а "weight" - это масса/вес ))). Автору реально спасибо за труды, объяснение классов просто отличное!

TechEquations
Автор

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

PavelGlazachev-bn
Автор

Интересные конечно у вас коты. У одного в шкафу застрял и насрал там, у другого на балкон выкидывают и забирают.
Всегда хотелось такого преподавателя. Пожелаю удачи.

alexey
Автор

Огромное человеческое спасибо за твои видое! Ты сделал очень хорошее дело!

manageradv
Автор

Хорошо что Ян не понимает и задаёт вопросы, я чувствую себя гением. :))

Zerg
Автор

Без кота и жизнь не та :) Очень понятно, спасибо!

linkgoogle
Автор

Офигеть. Большое спасибо. Много нового узнал.

shohzodzet
Автор

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

Neural.Academy
Автор

Спасибо!!! Очень интересно слушать и понятно.

omelchenkoaleks
Автор

Смотрел курс по паттернам проектирования и там очень удобно объясняли классы на примере "танчики" и свойства "выстрелить", "ехать в перед", "повернуть". Наследование тоже на танчиках просто)

antontrusov
Автор

45:00 я бы добавил, что такой способ записи конструктора (list initializer) необходим для того, чтобы final поля проинициализировать, т.к. при обычном написании вызванный конструктор создаст сначала объект, где поля уже проинициализироваться должны изначально, а так как они final, то уже не могут принять значение из параметра.

antondanilin
Автор

Ну не понимают и с первого, бывает. Только это заслуга не только понимающего, но и преподавателя, удачных примеров и конечно звезды чтобы сошлись. Просто это зависит от мышления ученика (не ума!) а просто у кого-то так повезло что нейроны уже в нужном порядке)

DarDarbl
Автор

спустя год пересмтриваю как справочник! Автору респект!!!

P.S.
Как друг то? Овладел наукой?

yakut
Автор

На 48:25 действительно странно, что вышел принт.
Мы ведь не вызывали print(square).
Был только print(wrong).

kissloveoddski_ghoul
Автор

52:17 Во Vue.js они зовутся computed properties

yakut
Автор

Здравствуйте! Объясните пожалуйста, почему в первом примере (1:02:35) в терминале выводятся разные данные, а во втором (1:04:28) одинаковые? Почему в первом примере сработала передача по значению, а во втором нет? Из-за того, что в первом случае вы переопределяли весь объект «a», а во втором только переменную внутри него?

esekhin
Автор

Я все еще не понимаю как работает @override, поясните пожалуйста

luckyboi
Автор

Спасибо! Крутой урок! А как сравнивать, например, свойства разных объектов одного класса? Например здесь пример расчета средней зп у одного работника из массива, а как сравнить среднюю зп всех работников?

rtjr