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