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

Практика на основы ООП в Dart

Ниже собраны задачи по основам объектной модели: поля, методы, доступ и вычисляемые значения.

Сделайте класс Book с полями title и pages. Создайте две книги: "Dart", 400 и "Java", 350. Выведите общее число страниц.

Сделайте класс Counter с методом next(), который возвращает следующее целое, начиная с 1. Выведите три подряд значения.

Дан следующий код:

class Wallet { int _balance; Wallet(this._balance); void deposit(int amount) { _balance += amount; } bool withdraw(int amount) { if (amount > _balance) { return false; } _balance -= amount; return true; } int readBalance() { return _balance; } }

Пополните на 100, снимите 30, попытайтесь снять 200. Выведите остаток и результат второй попытки снятия.

Сделайте класс Room, передавая width и length в конструктор. Сделайте геттер area. Создайте комнату 4 на 5 и выведите площадь.

Сделайте класс Tag с приватным полем label; пусть геттер возвращает его в верхнем регистре. Создайте объект со значением "sale" и выведите метку.

Сделайте класс Thermo с приватным полем celsius. В сеттере принимайте только значения от -50 до 60. Присвойте 25, затем 100. Выведите итоговую температуру.

Дан следующий код:

class Logger { final List<String> _lines = []; void log(String text) { _lines.add(text); } String dump() { return _lines.join("|"); } }

Запишите "start", "run", "end". Выведите результат dump().

Сделайте класс PairName с полями first и last. Сделайте метод full(), который вернет имя, пробел и фамилию. Выведите полное имя для "Ann" и "Lee".

Сделайте класс Timer с полем seconds и телом конструктора, которое выводит "ready". Создайте объект с 0 секунд.

Дан следующий код:

class Box { String item; Box(this.item); Box relabel(String newItem) { item = newItem; return this; } }

Создайте коробку "old", смените содержимое на "new" одной цепочкой вызовов. Выведите содержимое.

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