kotlin学习手册,基础,2,类与对象

1,类的定义和java基本类似,只是在类名处增加了参数输入,相当于java类的构造函数初始化

class a(x:int,y:int){

}

2,封装,在定义的数据或者函数加上private,在类外部不允许调用

3,继承,方法重写

open class father{

var c:String="internal"

open fun action(){//注意open

     println("我可以被子类重写")

}

 }//父类,如果允许被继承,就要在前面加open

class son:father(){

var s:String="out"

  override fun action(){

     println("子类重写父类方法")

  }

}

4,抽象类,多态,接口

abstract class human(name:String){//抽象类,其抽象方法必须被子类全部实现,否则继承的子类编译报错

abstract fun eat()//抽象方法,则其类必须是抽象类

}

class man(name:String):human(name){//子类继承抽象类,实现抽象方法

       override fun eat(){

       println("继承多态1")

       }

}

interface interf{//接口,定义出来是给其他类实现的,代表一种特有的功能

         fun theway()

}

class Man:interf{

   override fun theway(){

   println("接口方法的实现")

   }

}

5,委托代理,即该类中可调用另一个类已经重写的接口方法

interface  aa{fun aaa(){}}//接口

class bbb:aa{//类bbb,实现接口方法aaa

    override fun aaa(){}

}

class ccc:aa by bbb{//类ccc,由类bbb帮其实现接口方法aaa

    override fun aaa(){}

}

6,单例设计模式,则表示该类只能创建一个实例对象

object  eee(){

}

7,枚举

enum class week{1,2,3,4 }

8,印章类,关键字sealed,有限个子类类型

sealed class son{

     fun printtt(){  }

     class ggg:son{}

    class ffff:son{}

}

var  s1:son = son.ggg()

var s2:son=son.ffff()

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值