getters and setters

PHOTO EMBED

Thu Nov 21 2024 06:11:31 GMT+0000 (Coordinated Universal Time)

Saved by @coding1

class Person(private var _name: String, private var _age: Int) {
    
    var name: String
        get() = _name 
        set(value) {
            if (value.isNotEmpty()) {
                _name = value 
            } else {
                println("Name cannot be empty.")
            }
        }

    var age: Int
        get() = _age 
        set(value) {
            if (value > 0) {
                _age = value 
            } else {
                println("Age must be greater than 0.")
            }
        }

    companion object {
        fun createPerson(name: String, age: Int): Person {
            return Person(name, age)
        }
    }
    fun printDetails() {
        println("Name: $name, Age: $age")
    }
}

fun main() {
    val person = Person.createPerson("Alice", 25)
    person.printDetails()
    
    person.name = "Alicia" 
    person.age = 26 
	person.printDetails()
    
    person.name = "" 
    person.age = -5  
    person.printDetails()
}
content_copyCOPY