官术网_书友最值得收藏!

Object declarations

An object can also have a name. This kind of object is called an object declaration:

object Oven {
fun process(product: Bakeable) {
println(product.bake())
}
}

fun main(args: Array<String>) {
val myAlmondCupcake = Cupcake("Almond")
Oven.process(myAlmondCupcake)
}

Objects are singletons; you don't need to instantiate Oven to use it. Objects also can extend other types:

interface Oven {
fun process(product: Bakeable)
}

object ElectricOven: Oven {
override fun process(product: Bakeable) {
println(product.bake())
}
}

fun main(args: Array<String>) {
val myAlmondCupcake = Cupcake("Almond")
ElectricOven.process(myAlmondCupcake)
}
主站蜘蛛池模板: 弋阳县| 乐昌市| 马公市| 长葛市| 五华县| 长海县| 葫芦岛市| 大宁县| 津南区| 莱州市| 安阳市| 汉寿县| 鸡东县| 屏边| 封开县| 吉林市| 同心县| 万山特区| 察雅县| 锦屏县| 星子县| 南皮县| 思南县| 建阳市| 本溪| 丹棱县| 蚌埠市| 穆棱市| 曲麻莱县| 金阳县| 嘉荫县| 丹巴县| 抚顺县| 德令哈市| 海城市| 巴马| 东乡族自治县| 吴忠市| 景洪市| 武定县| 靖西县|