Сложение в Kotlin
Знак + у встроенных чисел уже означает
сложение. Для своего класса ту же запись задают
функцией plus внутри типа. Перед fun
ставят operator - тогда имя plus
связывается со знаком + в выражениях:
data class Vector2D(val x: Int, val y: Int) {
operator fun plus(other: Vector2D): Vector2D {
return Vector2D(x + other.x, y + other.y)
}
}
После объявления два значения можно складывать
обычным плюсом. Компилятор подставит вызов
plus на левом операнде:
fun main() {
val a = Vector2D(1, 2)
val b = Vector2D(3, 4)
val sum = a + b
println("${sum.x}, ${sum.y}")
}
Результат - новый объект; исходные векторы не меняются. Так же устроено сложение чисел и строк в стандартной библиотеке.
Сделайте data class Money с полем
cents типа Int. Добавьте сложение
через плюс. Для сумм 120 и 30
выведите cents результата.
Сложите Money(40) и Money(15)
записью с плюсом и выведите число центов.