Q:

Kotlin program | Example of Properties Getter and Setter Methods

0

Properties Getter and Setter Methods

  • Variable having a class-level scope, declared inside the class body but outside the functions called property.
  • Property can be declared with var(mutable) and val (read-only).
    var/val <propertyName>: <PropertyType> = <property_initializer>
    [<getter>]
    [<setter>]
    
  • property_initializer, getter, and Setter are optional.
  • Getter and Setter Auto-Generated into the code.
  • Getter is used to get the value of properties and setter is used to set value of properties.
  • val(read-only) type property does not allow setter.
  • If we don't want public access of setter than declare it private.
    var name:String
    private set

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Program to demonstrate the example of Properties Getter and Setter Methods in Kotlin

package com.includehelp

// Declare class,
class America{
    // Declare property with initial value
    var city:String = "NewYork"
    // Auto Generated getter and setter
}

// Declare class,
class India{
    // Declare property with initial value
    var city:String = "Delhi"

    // define optional getter and setter
    get() = field // Getter
    set(value) {  // Setter
        field=value
    }
}

// Declare class, define optional getter and setter
class China{
    // Declare property with initial value
    var city:String = "Wuhan"

    // private setter, cant set value from outside the class
    private set

    // member function to set property
    fun setCity(city:String){
        this.city=city
    }

}

// declare class, with customized getter and setter
class Japan{
    // Declare property with initial value
    var city:String = "Tokyo"

    // Getter of property
    get() = field.toUpperCase()

    //setter of Property
    set(value) {
        field="Modern City $value"
    }
}

// Main function, entry Point of Program
fun main(){
    // create Instance
    val america=America()
    america.city="Alsakaaa" // access setter
    println("America : ${america.city}") // access getter

    // create Instance
    val india=India()
    india.city="Mumbai" // access setter
    println("India : ${india.city}") // access getter

    // create Instance
    val china=China()
    // Try to access private setter, leads to compile time error
    // china.city="Beijing"

    // Set City by calling member function
    china.setCity("Beijing")
    println("China : ${china.city}") // access getter

    // create Instance
    val japan=Japan()
    india.city="Quoto" // access setter
    println("Japan : ${india.city}") // access getter
}

Output:

America : Alsakaaa
India : Mumbai
China : Beijing
Japan : Quoto

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now