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() }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter