Kotlin基础(二)
来源:互联网 发布:什么是网络成瘾 编辑:程序博客网 时间:2024/06/08 05:24
继上一篇Kotlin基础(一),接下来继续学习Kotlin基础。
一、kotlin的静态属性和动态行为
//kotlin的静态属性和动态行为class Girl(var name: String, var chactor: String, var age: Int) { fun smile(){ println("女生笑了一下") } fun cry(){ println("女生哭了,赶紧哄") }}fun main(args: Array<String>) { //声明Girl这个对象 var girl = Girl("Yorkie","开朗爱笑",18) println("女生的名字叫:${girl.name}") println("女生的性格是:${girl.chactor}") println("女生的年龄是:${girl.age}") girl.smile() girl.cry()}
运行结果:
二、kotlin的继承
父类:
//需要添加open关键字才可以被继承open class Father{ open var chactor:String ="性格内向"; open var appearance:String = "憨厚老实"; var height:String = "人高马大"; open fun action(){ println("性格内向,不喜欢跟陌生人接触") }}
子类:
//子类,继承了父类Father类class Son :Father(){ override var chactor:String ="性格开朗"; override var appearance:String = "英俊潇洒"; override fun action(){ println("性格开朗,与别人非常健谈") }}
测试类Test:
fun main(args: Array<String>) { var son = Son() println("儿子的性格:${son.chactor}") println("儿子的样貌:${son.appearance}") println("儿子的身高:${son.height}") son.action()}
运行结果:
三、kotlin的抽象类和接口
抽象类:
//抽象类abstract class HuMan{ abstract fun sport() abstract fun girl()}
接口:
//接口interface IMan{ fun eat() fun sleep()}
子类:
//子类,继承抽象类HuMan,实现接口IManclass Man : HuMan(), IMan { override fun eat() { println("我是男人,我当然会吃东西") } override fun sleep() { println("我是男人,我当然也会睡觉") } override fun sport() { println("我是男人,我喜欢运动") } override fun girl() { println("我是男人,我也喜欢看美女") }}
测试类Test:
fun main(args: Array<String>) { //实例化一个Man的对象 var man = Man() //调用方法 man.eat() man.sleep() man.sport() man.girl()}
运行结果:
四、Kotlin的代理和委托
接口:
interface ICreatApp{ fun programming()}
程序员类:
//程序员,object关键字代表这个类已经是单例模式object Programmer:ICreatApp{ override fun programming(){ println("低头专注的打代码") }}
经理类:
//经理委托程序员class Manager:ICreatApp by Programmer{ override fun programming(){ println("我是经理,我收到老板的指令,要编写一个APP") Programmer.programming() println("我是看着程序员把这个APP给写完的") }}
测试类Test:
fun main(args: Array<String>) { var manager = Manager() manager.programming()}
运行结果:
五、kotlin的枚举类
//枚举类enum class Week{ Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}fun main(args: Array<String>) { println(Week.Monday) println(Week.Tuesday.ordinal)}
运行结果:
六、kotlin的印章类
//印章类,孩子有女儿和儿子sealed class Kid{ fun sayHello(){ println("你们好,我还是个孩子") } class Son():Kid() class Daughter():Kid()}
测试类Test:
fun main(args: Array<String>) { //实例化三个对象 var k1:Kid = Kid.Son() var k2:Kid = Kid.Daughter() var k3:Kid = Kid.Son() var list = listOf<Kid>(k1,k2,k3) for(k in list){ if(k is Kid.Son){ k.sayHello() } }}
运行结果:
阅读全文
0 0
- Kotlin基础(二)
- Kotlin笔记二(Kotlin基础)
- Kotlin(二)-->基础语法
- Kotlin(二)-->基础语法
- Kotlin基础入门(二)
- Kotlin for Android(二)Kotlin基础语法
- Kotlin Reference(二)-基础部分
- Kotlin语法(二)基础语法
- Kotlin学习过程 二 Kotlin基础语法
- Kotlin基础(二) 基础类型和操作符
- Kotlin一步一个脚印学习基础二
- android使用kotlin开发基础(二)变量跟属性
- kotlin官方文档中文翻译(二) 基础内容
- Kotlin语法(二)
- kotlin学习(二)
- Kotlin学习(二)
- 初识Kotlin(二)
- Kotlin(一)基础
- 全字母句
- 36. Valid Sudoku
- Android的设计模式-解释器模式
- vue——带来的冲击
- cassandra column family table
- Kotlin基础(二)
- python-数据处理-merge函数
- HttpServletRequest
- Json
- utils/pkg_list.sh
- 【Linux】nohup重定向例子
- 最大连续子序列的和
- bootstrap
- 服务器安装WDCP