类的继承:
kotlin类的继承需要在父类中声明允许被继承,才能被子类继承。允许继承关键字:open
例如: open class Father(){ }
class son : Father(){}//son 继承father类
功能方面和java的继承一样,子类可以调用父类的公有方法,同样,公有的方法同样需要在fun前加上open
抽象类与继承:
abstract class human(var name:String){abstractfun eat() }//关键字abstract 表示抽象,用来声明抽象类与抽象函数,虚函数可以不写函数体
class man(name:String):human(name){overridefun eat(){函数体} }//关键字override 表示重写,用来重写函数
多态:
不同实现方式的同种功能,函数名相同,函数内部实现不同,最简单的例子就是圆形与长方形的面积。
ps:类的list: var exam = listOf<类名>(要存储的对象,用逗号隔开)
接口的声明与实现:
和类差不多,吧class改成interface
接口与抽象类的区别:
接口是事物的能力
抽象类是事物的本质
委托与代理
类实现接口时,如果两个类实现同一个接口且功能类似可以使用委托,通过关键字by 进行委托
例如:Bigheadson()实现了接口IWashing,在让 Littleheaddad实现时通过by委托给Bigheadson进行实现
class Littleheaddad:IWashing by Bigheadson(){}
枚举类:
enum class class_name{类中包含的内容,用","隔开}
调用时直接用class_name.类中的内容,就可以调用
印章类(密封类):
sealed class
印章类和枚举类的区别:sealed class更在意类型,里面存放的是类,可以有自己的函数
枚举类更在意数据,里面存放数据