РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ktTsTmClL5 169 of 178 menu

Задачи на ООП в Kotlin. Часть 5

Пусть класс Employee наследует от класса User из данного урока.

Переопределите в классе Employee конструктор родителя, добавив в него параметр с возрастом и зарплатой.

Сделайте геттеры для возраста и зарплаты.

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

open class User { private var age: Int = 0 open fun setAge(age: Int) { if (age >= 0) { this.age = age } else { println("need age more 0") } } } class Employee : User() { override fun setAge(age: Int) { if (age <= 120) { if (age >= 0) { this.age = age } else { println("need age more 0") } } else { println("need age less 120") } } }

В классе Employee исправьте и упростите сеттер возраста, использовав оригинальный метод родителя.

Дан следующий класс-родитель:

open class User { private var name: String = "" private var surn: String = "" fun setName(name: String) { this.name = name } fun getName(): String { return this.name } fun setSurn(surn: String) { this.surn = surn } fun getSurn(): String { return this.surn } }

Сделайте класс Employee, который будет наследовать от этого родителя.

Создайте объект класса Employee и вызовите унаследованные сеттеры и геттеры.

В классе Employee сделайте следующий метод:

fun getFull(): String { return this.name + " " + this.surn }

Убедитесь, что код метода приведет к ошибке.

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

open class User { private var name: String = "" open fun setName(name: String) { this.name = name } fun getName(): String { return this.name } } class Employee : User() { override fun setName(name: String) { if (name.length > 0) { this.name = name // ошибка } } }

В классе потомка переопределяется метод родителя. Исправьте проблемы в этом коде.

Попробуйте в классе Employee воспользоваться приватным методом родителя.

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

open class User { private var name: String = "" open fun setName(name: String) { this.name = name } fun getName(): String { return this.name } } class Employee : User() { override fun setName(name: String) { if (name.length > 0) { this.name = name } } }

Перепишите через защищенное свойство.

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