kotlin状态模式

作者: 腊鸭Laya | 来源:发表于2018-11-19 10:11 被阅读4次
/**
* 状态模式
*/

interface State {

fun shopping()

fun move()

}

class Loving : State {

override fun move() {

println("一起看电影")

}

override fun shopping() {

println("一起看逛街")

}

}

class NoLove : State {

override fun move() {

println("不看电影")

}

override fun shopping() {

println("一个人逛街")

}

}

class Context2 {

private var mState: State? =null

    private fun setState(state: State) {

mState = state

}

fun inLove() {

setState(Loving())

}

fun outLove() {

setState(NoLove())

}

fun move() {

mState!!.move()

}

fun shopping() {

mState!!.shopping()

}

}

fun main(args: Array) {

val context  = Context2()

context.inLove()

context.move()

context.shopping()

context.outLove()

context.move()

context.shopping()

}

相关文章

  • kotlin状态模式

  • Kotlin学习之继承

    Kotlin学习之继承 @(Kotlin学习) Kotlin中的继承模式与Java中存在差异: Kotlin中所有...

  • Kotlin中的委托

    Kotlin中的委托 啥是委托 其实kotlin中的委托的理念就是委托模式也是叫做代理模式;在Kotlin中委托有...

  • Kotlin设计模式之策略模式

    简单介绍下用Kotlin写的策略模式,还有就是与Java版本的对比。 Kotlin Java 输出 实现策略模式时...

  • Kotlin 的单例模式

    Kotlin 的单例模式 1. 在 Java 中的单例模式 懒汉式单例模式,并且是线程安全 2. 在 Kotlin...

  • Android Kotlin 设计模式之单例模式

    Android Kotlin 单例模式 前言 最近学习Kotlin,所以也在对比Kotlin和java的差异,在j...

  • Kotlin单例模式使用案例

    Kotlin单例模式 1、kotlin的object就是一个单例模式,所有字段都是static静态,方法不是静态2...

  • Kotlin 的单例模式

    Kotlin 的单例模式(5种) Kotlin 的5种单例模式: 饿汉式 懒汉式 线程安全的懒汉式 双重校验锁式 ...

  • Kotlin委托

    Kotlin委托 1.Kotlin中的委托有两种形式,一种是委托模式,一种是委托属性。 2.委托模式是设计模式中的...

  • 单例模式

    单例模式 单例模式简介基本用法Kotlin 不带参Kotlin 带参饿汉式懒汉式双重校验锁静态内部类枚举集合管理问...

网友评论

    本文标题:kotlin状态模式

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