Практика на реализацию типа в Dart
Задачи на классы-контракты и implements
для разных предметных моделей.
Дан следующий код:
class Named {
String get name;
}
Сделайте класс City, реализующий
Named.
Выведите name для "Oslo".
Дан следующий код:
class Printable {
String printLine();
}
class Storable {
bool save();
}
Сделайте класс Note, реализующий
оба типа.
Пусть printLine() возвращает "note",
а save() - true.
Выведите оба результата.
Сделайте класс Named с геттером name,
класс Desc, реализующий Named,
и метод blurb().
Сделайте класс Product с именем
и методом blurb(), возвращающим
name и "!".
Выведите blurb для "tea".
Дан следующий код:
class Scored {
int get score;
}
class Entry implements Scored {
Entry(this.score);
@override
int score;
}
Поместим объекты в список:
var rows = [
Entry(3),
Entry(7),
Entry(5),
];
Выведите сумму score всех записей.
Сделайте класс Resettable
с методом reset().
Сделайте класс Counter, который хранит
value и реализует Resettable.
Увеличьте значение до 4, сбросьте,
выведите value.
Дан следующий код:
class A {
String tag();
}
class B {
String tag();
}
Сделайте класс Both, реализующий
A и B, и верните из tag()
строку "AB".
Выведите результат.
Сделайте класс Validator
с методом ok(String text).
Сделайте NonEmpty, принимающий только
непустые строки.
Проверьте "" и "hi",
выведите оба ответа.
Сделайте класс Formatter
с методом format(int n).
Сделайте класс HexFmt, который выводит
шестнадцатеричную строку без префикса.
Отформатируйте 255 и выведите.