码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-06-23 17:22:27      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:logs   over   编程   16px   car   继承   work   使用   font   

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

//对中国人来说,这个类,可能各省人适合继承
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基础-对象声明和表达式

标签:logs   over   编程   16px   car   继承   work   使用   font   

原文地址:http://www.cnblogs.com/my334420/p/7070850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!