Unlock the Power of Kotlin: Getters and Setters Explained
Understanding the Basics
Before diving into the world of getters and setters, make sure you have a solid grasp of Kotlin classes and objects. In programming, getters and setters play a crucial role in managing property values. In Kotlin, these components are optional and can be automatically generated if not explicitly defined.
The Magic of Getters and Setters
So, how do getters and setters work their magic? Let’s take a closer look. When you create an object from a class and initialize a property, the setter parameter value is passed, and the field is set to that value. Later, when you access the property, the getter returns the field value.
A Working Example
Here’s a simple example to illustrate this concept:
“`
class Person(var name: String) {
var actualAge: Int
get() = age
set(value) {
if (value > 0) {
age = value
} else {
age = 0
}
}
private var age: Int = 0
}
fun main() {
val person = Person(“John”)
person.actualAge = 25
println(person.actualAge) // Output: 25
}
“`
Customizing Property Values
But that’s not all! You can also modify property values using getters and setters. Let’s see how:
“`
class Person(var name: String) {
var actualAge: Int
get() = age
set(value) {
if (value > 0 && value < 150) {
age = value
} else {
age = 0
}
}
private var age: Int = 0
}
fun main() {
val person = Person(“John”)
person.actualAge = 30
println(person.actualAge) // Output: 30
}
“`
In this example, the setter logic ensures that the age property is set to a valid value between 0 and 150.