zoukankan      html  css  js  c++  java
  • 适配器模式

    啥是适配器。这么熟悉。 大家常见的就是网卡了。 那还有更形象点的解释吗?有的。 比如xx转接头。 这个转接头就叫适配器。

    民用电中国是220v。那怎么给手机充电呢   。 充电器就是220-5v的适配器。   
    那5v输出又不适应所有的手机接口,  于是出现了usb转安卓,usb转苹果等 的数据线。 这也叫适配器。 说白了就是 两个不一样的东西,通过某种方式给链接起来。就叫适配器模式。 代码如下。

    [PHP] 纯文本查看 复制代码
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?php
    use yiiaseObject;
    /**
     * 源类,用户类
     *
     */
    class User
    {
        /**
         * 获取用户名的方法
         * @return string
         */
        public function getUserName()
        {
            return 'php20';
        }
        /**
         * 获取年龄
         * @return string
         */
        public function getUserAge()
        {
            return '20';
        }
    }
    /**
     * 标注接口类,适配器
     */
    interface IUserAdapter
    {
        public function getUserInfo();
    }
    /**
     * 具体的类
     */
    class UserAdapter implements IUserAdapter
    {
        public $mUserObj;
        public function __construct($old_obj)
        {
            $this->mUserObj = $old_obj;
             
        }
        /**
         *  获取用户信息
         */
        public function getUserInfo()
        {
            $userinfo=[
                'username' => $this->mUserObj->getUserName(),
                'age' => $this->mUserObj->getUserAge(),
            ];
            return $userinfo;
        }
    }
    ///////实际使用代码
    $new_user = new UserAdapter(new User());
    var_dump( $new_user ->getUserInfo());



    结果如下

    array(2) { ["username"]=> string(5) "php20" ["age"]=> string(2) "20" }
  • 相关阅读:
    2js中的变量的数据类型
    hdu 1022火车进出站问题
    hdu 2412树形dp
    hdu2955 Robberies(java)
    IDEA导入HttpServlet包
    IDEA导入jar包
    Java工程打包成jar可执行文件
    Java基础笔记(一)——JDK、JRE、JVM
    正整数构成的线性表存放在单链表中,编写算法将表中的所有的奇数删除。(C语言)
    已知单链表的数据元素为整型数且递增有序,L为单链表的哨兵指针。编写算法将表中值大于X小于Y的所有结点的顺序逆置。(C语言)
  • 原文地址:https://www.cnblogs.com/ghjbk/p/6670234.html
Copyright © 2011-2022 走看看