Kotlin基础-对象声明和表达式

Posted 张兮兮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin基础-对象声明和表达式相关的知识,希望对你有一定的参考价值。

/*
* 有时候只是要对某个类进行轻微改造,供临时使用,避免继承
* 对象声明和表达式就很有用
*对面向对象编程的优化,避免一些继承导致的代价过高
* */

//对中国人来说,这个类,可能各省人适合继承
open class China(var name:String){
    open val skin="yellow"

}

fun main(args: Array<String>) {
//但如果外国人入籍,就不适合用继承
    //对象表达式:val 对象名=object:类,接口{属性或方法的override定义}
    val baako= object : China("Baako Zaid") {
        override val skin="black"
    }
    println(baako.skin)

    //纯对象表达式:临时使用,无需继承任何类
    val tempParking=object {
        var x=100
        var y=200
    }
    println(tempParking.x)
    //相当于调用函数
    NetworkRequestManager.register()
//伴生对象的方法,与类关联性强
    IdCard.creat()

}

//对象声明,不能在函数中
//一般用于对其他类的一种使用上的包装
object NetworkRequestManager{
    fun register(){
        print("连接网络中")
    }
}
//伴生对象:一般用于创建一个类的实例的“工厂”方法
//java中的静态属性
class IdCard{
    companion object{
        fun creat() =IdCard();
    }
}

 

以上是关于Kotlin基础-对象声明和表达式的主要内容,如果未能解决你的问题,请参考以下文章

Kotlin 对象表达式和对象声明

Kotlin学习—— 数据类,泛型,嵌套类与内部类,对象表达式和对象声明

Kotlin 初学者单例类(object)

Kotlin入门(29)任务Runnable

javascript数据类型--- 函数对象之基础

从零开始学Kotlin-类和对象