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

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

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

Дан класс:

abstract class Report { abstract val title: String abstract fun body(): String fun headline(): String { return title.uppercase() } }

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

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

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

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

Дан класс:

abstract class Job(val name: String) { abstract fun run(): Boolean fun describe(): String { return name + if (run()) ":done" else ":fail" } }

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

Сделайте абстрактный класс Widget с приватным счётчиком созданных виджетов в companion и абстрактным методом kind(): String. Пусть каждый наследник увеличивает счётчик в init. Создайте по одному Button и Field. Выведите счётчик и оба kind().

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

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

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