美文网首页
Kotlin入门学习(二)

Kotlin入门学习(二)

作者: 岁月静好浅笑安然 | 来源:发表于2019-07-26 14:39 被阅读0次

新的篇章

面向对象

class Girl(var chactor:String,var  voice:String){
  fun smil(){
  println("笑了")
   }
   fun cry(){
   println("哭了")
   }
}

fun main (args:Array<String>){
    var gril=Girl("温柔","甜美")
    println("gril的声音=${gril.voice}")
    gril.cry()
}

面向对象-封装

面向对象-继承

open class Father{
var chactor:String="内向"
    open fun action(){
    println("喜欢大声说话")
}
}
class Son:Father(){
    override fun action(){
    println("儿子很乖,不喜欢公共场合大声说话")
}
}
fun main (args:Array<String>){
        var son1=Son()
        println("儿子的性格${son1.chactor}")
        son1.action()
        
}

面向对象-抽象类和多态

//抽象的人类
abstract class Human(var name:String){
    abstract fun eat()
}

//继承
class man (name:String):Human(name){
override fun eat(){
    println("${name} 哇哇大口吃饭")
}
}
//继承
class women (name:String):Human(name){
override fun eat(){
    println("${name} 哇哇小口吃饭")
}
}

fun main (args:Array<String>){
        var a=man("张三")
        a.eat()
        
        var b=women("李梅")
        b.eat()
}
//多态
abstract class Human(var name:String){
    abstract fun eat()
    abstract fun pee()
}
//继承
class man (name:String):Human(name){
override fun eat(){
    println("${name} 哇哇大口吃饭")
}
override fun pee(){
    println("${name} 站着niaoniao")
}
}
//继承
class women (name:String):Human(name){
override fun eat(){
    println("${name} 哇哇小口吃饭")
}
override fun pee(){
    println("${name} 蹲着niaoniao")
    
}
}

fun main (args:Array<String>){
        var a=man("张三")
        
        
        var b=women("李梅")
        
        var list=listof<Human>{a,b}
        for(h in list){
        h.pee()
        }
}

接口

/**
* 接口
*/
interface IMan{
    fun xiaodidi()
}

class  Man :IMan{
    override fun xiaodidi(){
    
    println("随便打印")
    }
}


fun main (args:Array<String>){
    var man1=Man()
    man1.xiaodidi()
}

委托和代理 by关键字


interface IWashBowl{
    fun washing()

}
//object 关键字
object Son:IWashBowl{
    override washing(){
    println("我是儿子我在洗碗,一次1元")
    
}

}
//使用object修饰Son类后,by Son (){} 写法就错误,正确写法 by Son{}
class Father:IWashBowl  by Son{
    override washing(){
    println("我是爸爸,我赚了10元")
    Son.washing()
    println("我看着儿子洗完了")
    
}

}


fun main (args:Array<String>){
    var father =Father()
    father.washing()

}

委托和代理 枚举

enum class Week{

星期一,星期二,星期三,星期四,星期五,星期六,星期日
}
fun main (args:Array<String>){
    println(Week.星期一.ordinal)//枚举第几个

}

印章类关键字 sealed,子类类型有限的class

sealed class Son{
fun say(){
    println("大家好")
}
   class aaa :Son()
   class bbb :Son()
   
}
fun main (args:Array<String>){
    var s:Son=Son.aaa()
    a.say()

}

相关文章

网友评论

      本文标题:Kotlin入门学习(二)

      本文链接:https://www.haomeiwen.com/subject/oazrrctx.html