In this chapter we are going to learn about getters and setters. If you don't know about classes and object please read previous chapter.
In programming language getters is nothing but get the value of variable and setters is nothing but set the value of veriable
In kotlin getters and setters are optional, if we not creates getters and setters kotlin will auto creates.
Example of Getter & Setters
class Employee {
var name: String = "Kotlin"
// getter
get() = field
// setter
set(value) {
field = value
}
}
The above class is Equals to
class Employee {
var name: String = "Kotlin"
}
As we discussed if we not define the Getters and Setters Kotlin will auto creates these in the programm.
Example -2
fun main(args: Array) {
val emp = Employee()
emp.actualSal = 15000
emp.sal = 35
println("Chandu: actual Sal = ${emp.actualSal}")
println("Chandu: pretended Sal = ${emp.sal}")
val emp2 = Employee()
emp2.actualSal = 18000
emp2.sal = 35
println("Indhu: actual Sal = ${emp2.actualSal}")
println("Indhu: pretended sal = ${emp2.sal}")
}
class Employee {
var sal: Int = 0
get() = field
set(value) {
field = if (value < 18000)
18000
else if (value >= 18000 && value <= 30000)
value
else
value-3000
}
var actualSal: Int = 0
}
Output Chandu: actual Sal = 15000 Chandu: pretended Sal = 18000 Indhu: actual Sal = 18000 Indhu: pretended sal = 18000