Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtOpFPVl 108 of 113 menu
◀ ▶

Практика на класс-значение в Dart

Задачи на обычные классы, где равенство и копия задаются явно, без автогенерации методов.

Сделайте класс Book с полями isbn, title и year. Дан список:

var shelf = [ Book("1", "Alpha", 2020), Book("2", "Beta", 2024), Book("3", "Gamma", 2020), ];

Выведите число книг с year == 2020.

Сделайте класс Point с полями x и y и переопределите operator ==. Даны значения:

var p1 = Point(1, 2); var p2 = Point(1, 2); var p3 = Point(2, 1);

Выведите три результата сравнения ==: p1 и p2, p1 и p3, p2 и p3.

Сделайте класс Employee с полями login и active по умолчанию true и метод copyWith. Дан объект:

var u = Employee("neo");

Получите копию с active = false. Выведите login и active новой записи.

Сделайте класс PairTag с полями key и value. Дана карта:

var tags = { "env": PairTag("env", "prod"), "ver": PairTag("ver", "3"), };

Для ключа "ver" выведите value или "missing", если записи нет.

Сделайте класс OrderLine с полями sku и qty. Дан список:

var lines = [ OrderLine("a", 2), OrderLine("b", 1), OrderLine("a", 3), ];

Выведите сумму qty для sku == "a".

Сделайте класс RGB с полями r, g и b и переопределите toString(). Создайте RGB(10, 20, 30). Выведите строку toString().

Сделайте класс Version с полями major и minor и метод copyWith. Даны версии:

var v1 = Version(1, 0); var v2 = v1.copyWith(minor: 2);

Выведите major и minor у v1 и у v2 в формате из четырех чисел, разделенных пробелами.

Сделайте класс Hit с полями page и ms. Дан список:

var hits = [ Hit("/", 120), Hit("/api", 40), Hit("/", 80), ];

Выведите среднее ms для page == "/" как целое (отбросьте дробную часть).

Сделайте класс Edge с полями from и to, переопределите == и hashCode. Поместите три ребра в набор, добавьте дубликат первого ребра. Выведите размер набора.

Сделайте класс Row с полями id и text. Дана переменная:

Row row = Row(5, "note");

Выведите id и text в одной строке: сначала id, затем text, между ними двоеточие.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить