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

Практика на abstract в Java

Сделайте абстрактный класс Storage с абстрактным методом count(). Сделайте классы ListStorage и SetStorage, которые возвращают размер своей коллекции. Выведите оба значения для непустых коллекций.

Дан класс:

abstract class Report { abstract String getTitle(); abstract String body(); String headline() { return getTitle().toUpperCase(); } }

Сделайте DailyReport с заголовком "day" и телом "ok". Выведите headline() и body().

Сделайте абстрактный класс Payment с полем amount и абстрактным методом label(). Сделайте классы CardPayment и CashPayment, возвращающие "card" и "cash". Выведите метки для суммы 50.

Сделайте абстрактный класс UnitConv с методом toBase(double value) в теле класса и абстрактным методом fromBase(double value). Сделайте KmConv, где базовая единица - метры, а множитель равен 1000. Выведите 2.5 км в метрах и обратно.

Сделайте абстрактный класс EmployeeRole с абстрактным методом code(). Сделайте GuestRole со значением "G" и StaffRole со значением "S". Дан список ролей из обоих типов. Выведите коды в порядке списка в одной строке без пробелов.

Дан класс:

abstract class Job { private final String name; Job(String name) { this.name = name; } abstract boolean run(); String describe() { return name + (run() ? ":done" : ":fail"); } }

Сделайте CopyJob, возвращающий true, и MoveJob, возвращающий false. Выведите describe() для обоих.

Сделайте абстрактный класс Shape со статическим счётчиком созданных фигур и абстрактным методом kind(). Пусть каждый наследник увеличивает счётчик в конструкторе. Создайте по одному Circle и Square. Выведите счётчик и оба kind().

Сделайте абстрактный класс Parser с абстрактным методом parse(String line). Сделайте IntParser, который возвращает число или null. Даны строки "10", "x". Выведите результаты разбора.

Сделайте абстрактный класс Discount с методом apply(int price) в базовом классе, вызывающим абстрактный метод rate(). Сделайте HalfPrice со ставкой 0.5. Выведите цену 80 после скидки.

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