Kotlin学习——面向对象实战-洗衣机升级改造

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chengxu_kuangrexintu/article/details/82557992

前言

上一篇博客中,我有用学习到的Kotlin语言编写一个洗衣机Demo,那么这篇博客中我对它进行升级改造,提升博客中程序员B的用户体验感。

面向对象实战-洗衣机升级改造

我们需要为洗衣机增加一些新的功能,判断洗衣机门是否有关,洗衣机有什么模式。

实例代码

1.程序员A为洗衣机添加新的功能。

/**
 * 程序员A创建的洗衣机
 */
class WashMachine(var module:String,var size:Int) {
    /**定义一个变量用于判断洗衣机是否有关闭*/
    var isDoorOpen = true
    /**定义当前变量*/
    var currentMode = 0
    /**定义打开洗衣机门方法*/
    fun openDoor(){
        println("洗衣机的门已经打开了...")
        isDoorOpen = true
    }
    /**定义一个关门的方法*/
    fun closeDoor(){
        println("洗衣机的门已经关闭了...")
        isDoorOpen = false
    }
    /**设置洗衣机模式*/
    fun selectMode(mode:Int){
        currentMode =  mode
       when(mode){
            0 -> println("初始模式,请您选择模式")
            1 -> println("轻柔模式")
            2 -> println("狂揉模式")
           else -> println("请选择正确的模式")
       }
    }
    /**定义一个开始洗衣服的方法*/
    fun start(){
        if (isDoorOpen) {
          println("滴滴...请关好洗衣机门 ")
        }else{
            when(currentMode){
                0 -> {
                    println("选择模式错误,不能开始洗衣服")
                }
                1 -> {
                    println("放水中...")
                    println("水放满了...")
                    println("轻柔模式开启")
                    println("开始洗衣服...")
                    println("衣服已经洗好了...")
                }
                2 -> {
                    println("放水中...")
                    println("水放满了...")
                    println("狂揉模式开启")
                    println("开始洗衣服...")
                    println("衣服已经洗好了...")
                }
                else -> {
                    println("选择模式错误,不能开始洗衣服")
                }
            }

        }
    }
}

2.程序员B使用洗衣机的新功能。

/**
 *  程序员B写的代码
 *  需求是:洗衣服
 */
fun main(args: Array<String>) {
    var washMachine = WashMachine("小天鹅",12)
    washMachine.openDoor()
    println("程序员B把牛仔裤放进去了")
    washMachine.closeDoor()
    washMachine.selectMode(2)
    washMachine.start()
}

总结

我通过上面的代码,实现一个很古老的洗衣机,现在我们平时用的洗衣机功能更多。在编写过程中,加深自己对Kotlin的面向对象的理解。

猜你喜欢

转载自blog.csdn.net/chengxu_kuangrexintu/article/details/82557992