Задачи на ООП в Kotlin. Часть 6
Дан следующий код:
open class User {
private var name: String = ""
fun setName(name: String) {
if (notEmpty(name)) {
this.name = name
}
}
fun getName(): String {
return this.name
}
fun notEmpty(str: String): Boolean {
return str.length > 0
}
}
class Employee : User() {
private var surn: String = ""
fun setSurn(surn: String) {
if (notEmpty(surn)) {
this.surn = surn
}
}
fun getSurn(): String {
return this.surn
}
}
Сделайте вспомогательный метод защищенным.
Сделайте абстрактный класс Figure,
представляющий собой геометрическую
фигуру. Пусть от него наследует классы
для круга, прямоугольника и квадрата.
Добавьте в ваш класс User такой же
абстрактный метод increaseRevenue.
Напишите реализацию этого метода в классах
Employee и Student.
В классе Figure сделайте абстрактные
методы для получения площади и периметра фигуры.
Сделайте класс Num, у которого будут
два публичных статических свойства: num1
и num2. Запишите в первое свойство
число 2, а во второе - число 3.
Выведите сумму значений свойств на экран.
Сделайте класс Num, у которого будут
два приватных статических свойства: num1
и num2. Пусть по умолчанию в свойстве
num1 хранится число 2, а в
свойстве num2 - число 3.
Сделайте в классе Num метод getSum,
который будет выводить на экран сумму значений
свойств num1 и num2.
Дан следующий код:
class Math {
fun getSum(a: Int, b: Int): Int {
return a + b
}
fun getProduct(a: Int, b: Int): Int {
return a * b
}
}
Переделайте методы следующего класса на статические.
Дан следующий код:
class ArraySumHelper {
fun getSum1(arr: DoubleArray): Double {
return getSum(arr, 1)
}
fun getSum2(arr: DoubleArray): Double {
return getSum(arr, 2)
}
fun getSum3(arr: DoubleArray): Double {
return getSum(arr, 3)
}
fun getSum4(arr: DoubleArray): Double {
return getSum(arr, 4)
}
private fun getSum(arr: DoubleArray, power: Int): Double {
var sum = 0.0
for (elem in arr) {
sum += kotlin.math.pow(elem, power.toDouble())
}
return sum
}
}
Переделайте методы следующего класса на статические.
Сделайте наш счетчик приватным. Пусть его значение можно будет получать с помощью специального метода.