Практика на основы ООП в 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" одной цепочкой вызовов.
Выведите содержимое.