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();
        }
    }
  • 相关阅读:
    PowerShell笔记
    Windows难民安装docker的注意事项
    minix3使用轻快入门
    gentoo(贱兔) Linux作业系统的基本使用
    Artix Linux作业系统的使用~
    CentOS7搭建sftp
    Hello Wolrd
    Android开发技术周报 Issue#1
    Android开发技术周报 Issue#4
    Android开发技术周报 Issue#3
  • 原文地址:https://www.cnblogs.com/my334420/p/7070850.html
Copyright © 2011-2022 走看看