zoukankan      html  css  js  c++  java
  • Android-Kotlin-代理和委托

    代理和委托,在生活中的案例有很多:

     例如:小明工作很忙,需要办理银行卡,此时他委托给>>小李去给自己办理银行卡,小李来到办理中心 把自己的身份证/小李的身份证,给办理人员,说是小明委托我,给他办理银行卡的



    在Kotlin的代理委托是使用by关键字来处理

    定义描述寻找的接口,规范寻找的功能的标准:

    package cn.kotlin.kotlin_oop07
    
    /**
     * 定义描述寻找的接口
     */
    interface ISeek {
    
        /**
         * 寻找的功能/行为
         */
        fun seekAction()
    
    }

    老大有寻找的功能 Person1:

    package cn.kotlin.kotlin_oop07
    
    /**
     * 老大有寻找的功能
     *
     * by Person2() by 关键字是(委托代理)
     */
    class Person1 : ISeek by Person2() {
    
        /**
         * 老大想寻找 王龟蛋,愿意花1000000元找寻他,这属于(委托代理), 于是给老二1000000元为酬劳
         *
         *  老大说>>>>> "老二 去帮我找到王龟蛋,给你1000000元为酬劳 ....... "
         */
    }

    老二也有寻找的功能 Person2:

    package cn.kotlin.kotlin_oop07
    
    /**
    * 老二也有寻找的功能
     *
     * by Person3() by 关键字是(委托代理)
    */
    class Person2 : ISeek by Person3() {
    
        /**
         * 由于老大吩咐我找王龟蛋
         * 我愿意花1000元,找寻王龟蛋,所以吩咐 老三去找寻 这属于(委托代理), 于是给老三1000元为酬劳,自己不出力 还赚了999000
         *
         *  我说>>>>> 老三 去帮我找到王龟蛋,给你1000元为酬劳 .......
         */
    }

    老三也有寻找的功能 Person3:

    package cn.kotlin.kotlin_oop07
    
    /**
     * 老三也有找寻的功能
     */
    class Person3 : ISeek {
    
        /**
         * 老三在不辞劳苦的找寻王龟蛋,只为赚那1000元
         */
        override fun seekAction() {
            println("经过三周时间,终于找到王龟蛋了....")
        }
    }

    main测试方法:

    package cn.kotlin.kotlin_oop07
    
    fun main(args: Array<String>) {
    
        // 只让 老大去寻找
        var person1 = Person1()
    
        // 只让 老大去寻找,结果老大委托>>老二去寻找的,然后老二又委托>>老三去寻找的,最后是老三找寻到的
        person1.seekAction()
    
    }

    执行结果:

  • 相关阅读:
    光庭杯第九题
    NYOJ 95
    NYOJ 31
    NYOJ 26
    HDOJ 1016(DFS)
    memset和memcpy和memcpy
    周期串
    C# BackgroudWorker
    Microsoft® SQL Server® 2008 Express以及Microsoft® SQL Server® 2008 R2 SP1下载地址
    事件(Event)
  • 原文地址:https://www.cnblogs.com/android-deli/p/10313335.html
Copyright © 2011-2022 走看看