zoukankan      html  css  js  c++  java
  • 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();
        }
    }
  • 相关阅读:
    06.04 html
    汉企第一天
    Django之ajax
    Diango之图书管理系统编辑
    Django之模型层&ORM操作
    Django 之模板层
    Django之 路由层
    Django之ORM简单操作(一)
    迭代器、可迭代对象、迭代器对象、生成器、生成器对象、枚举对象
    装饰器
  • 原文地址:https://www.cnblogs.com/my334420/p/7070850.html
Copyright © 2011-2022 走看看