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

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)
}
主站蜘蛛池模板: 玉树县| 安泽县| 楚雄市| 泰宁县| 义马市| 定边县| 赤城县| 哈尔滨市| 仙游县| 黄浦区| 石阡县| 仁化县| 秭归县| 博爱县| 诏安县| 萍乡市| 南充市| 翁源县| 赤城县| 甘孜县| 余江县| 阿克苏市| 巴中市| 铜陵市| 大荔县| 宜兴市| 扶绥县| 德惠市| 宜昌市| 中西区| 龙南县| 博客| 湘潭市| 区。| 灵丘县| 新乡市| 兴安县| 昌都县| 疏附县| 额济纳旗| 伊春市|