Урок 7: 'Основы Dart - классы: скрытые интерфейсы/implements'

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

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

dan.gorbunov
Автор

Сук я так привык к вам двоим. Спасибо пиздатые уроки. Даже когда питона я изучал не было так понятно а знания дарта переосмыслело то что я знаю про пайтон.

aimtimtimtim
Автор

Спасибо за видео. Коммент в поддержку!

sovrinfo
Автор

Проверил. Если скачать видео себе на компьютер, то все отлично работает.

dan.gorbunov
Автор

Спасибо большое за урок. Кстати теперь не обязательно видимо писать тип для листа, автоматом находит общий интерфейс.

ImSiberan
Автор

implements, очень похоже на протоколы из swift, а дженерик класс имплементс он тоже может положить в массив? implements class<T>

Antonnel
Автор

спасибо за уроки! топ 1! До этого все понимал как кино смотрел)) А на интерфейсах забуксовал. Если вместо implement написать extend то что изменится? просто создаем абстрактный класс без реализации с одним методом и свойством и пишем extend. В чем прикол? (погуглил, при имплементации мы не обязаны реализовывать конструктор интерфейса)

cryptoinsider-tech
Автор

Спасибо обосрался, когда на 19:39 вдруг включился правый наушник

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

Брат, а как быть, так-то стол тоже можно put(), а ты его засунул в Posduable, и ты Posduable не используешь в Table, а даже если используешь притащишь с собой не нужный fill()

lasker-m
Автор

то-есть в Dart нету как такового interface как в Java и здесь в интерфейсе(абстрактном классе) нельзя сделать реализацию по умолчанию (как в Java default)

lonelypresident
Автор

Блииин. А никак не исправить косяк в этом видео? С середины ролика звук и видео не совпадают до самого конца.

gemanoff
Автор

Тема наследованная не раскрыта)) Позволю себе дополнить наследование плохо тем, унаследовавшись от 3-4 классов, 4 от 3, 3 от 2, а 2 от 1 тащишь в 4 класс методы всех остальных классов и в итоге огород не нужных методов и свойств там где доступ к ним не должно быть так допустим если класс расширять наследованием он станет огромным можно ошибиться вызвать не тот метод данные загрузишь из локального хранилища а нужно из сервера например и тд наследование по сути зло я видел как один программист унаследовал от класса репозитория для работы с тем ч чем он не был предназначен и естественно другой программист взял его класс для другого данных из сети и пошли не корректные данные по всему проекту крч огород можно налепить такой что по голове дадут)) implements приоритетнее.даже как то жаль что не назвали protocol  умаслили бы swift dev

Antonnel
Автор

для примера в playground'e (Песочнице)
набросал для примера след:

enum Colour {
Black,
Red,
Blue,
Purple,
}

abstract class Verification {
int id;

Verification(this.id);
}

abstract class Project {
String model;
Colour colour;

Project(this.model, this.colour);
}

class Pencil implements Verification, Project {
String model;
Colour colour;
int id;

Pencil(this.colour, this.model, this.id);

@override
String toString() {
return '\nPencil: \n Model $model \n Color $colour \n ID $id';
}

String? toRed() {
colour = Colour.Red;
}
}

class Car {
String company;
String model;
Colour colour;

Car(this.company, this.model, this.colour);

@override
String toString() {
return '\nCar \n Company: $company \n Model: $model \n Color: $colour';
}

String? toBlack() {
colour = Colour.Black;
}
}

void main() {
final pencil = Pencil(Colour.Blue, 'msp20', 11223344);
final myCar = Car('Toyota', 'Supra', Colour.Purple);

final list = Colour.values;
print(list);

print(pencil);
print(pencil.toRed());
print(pencil);
print(myCar);
print(myCar.toBlack());
print(myCar);
}

samirsatt