У меня есть класс Kotlin с именованными аргументами и значениями по умолчанию для неуказанных аргументов.Я пытаюсь выяснить, как создать собственный установщик для одного аргумента, и просто не могу понять, что я делаю неправильно - хотя, возможно, это просто.Вот упрощенная версия класса:
class ItemObject(var itemNumber: String = "",
var itemQty: Int = 0)
Я могу использовать свойства этого класса без проблем itemObject.itemQty = itemObject.itemQty + 1 (доступ к как получателю, так и установщику).
Тем не менее, я бы хотел создать пользовательский установщик, чтобы элемент itemQty не опускался ниже нуля.Итак, я пробовал много вариантов на следующую тему:
class ItemObject(var itemNumber: String = "",
itemQty: Int = 0) {
var itemQty: Int = 0
set(value: Int) =
if (value >= 0) {
itemQty = value // Don't want to go negative
} else {
}
}
Это компилируется без проблем, но, похоже, по умолчанию itemQty по умолчанию равен нулю (или что-то вроде этого - у меня нет)не выследил его).
Кто-нибудь может указать мне правильное направление?Я, безусловно, ценю это - это мой первый проект Kotlin, и я мог бы немного помочь.:)