kotlin获取属性
属性获取器和设置器方法 (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(mutable)和val(只读)声明属性。
var/val <propertyName>: <PropertyType> = <property_initializer> [<getter>] [<setter>]
property_initializer, getter, and Setter are optional.
property_initializer,getter和Setter是可选的。
Getter and Setter Auto-Generated into the code.
Getter和Setter自动生成到代码中。
Getter is used to get the value of properties and setter is used to set value of properties.
Getter用于获取属性值,而setter用于设置属性值。
val(read-only) type property does not allow setter.
val(只读)类型属性不允许使用setter。
If we don't want public access of setter than declare it private.
如果我们不希望公开访问setter,则将其声明为私有。
var name:String private set
程序以演示Kotlin中的属性Getter和Setter方法的示例 (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
翻译自: https://www.includehelp.com/kotlin/example-of-properties-getter-and-setter-methods.aspx
kotlin获取属性