zoukankan      html  css  js  c++  java
  • 桥接模式

    <?php
    //桥接模式
    abstract class info {
        protected $send = null;
        
        public function __construct(Send $send){
            $this->send = $send;
        }
        
        abstract public function msg($content);
        public function send($to,$content){
            $content = $this->msg($content);
            $this->send->send($to,$content);
        }
    }
    
    interface Send {
        public function send($to,$content);
    }
    class zn implements Send {
        public function send($to,$content){
            echo '站内给' . $to .',内容是:' . $content;
        }
    }
    
    class email implements Send {
        public function send($to,$content){
            echo 'email给' . $to .',内容是:' . $content;
        }
    }
    
    class sms implements Send {
        public function send($to,$content){
            echo '短信给' . $to .',内容是:' . $content;
        }
    }
    
    class commoninfo extends info {
        public function msg($content){
            return '普通' . $content;
        }
    }
    
    class warninfo extends info {
        public function msg($content){
            return '紧急' . $content;
        }
    }
    
    class dangerinfo extends info {
        public function msg($content){
            return '特急' . $content;
        }
    }
    
    //站内发普通信息
    $commoninfo = new commoninfo(new zn());
    $commoninfo->send('小明','吃饭了');
    
    echo '<br />';
    //用手机发特急信息
    $dangerinfo = new dangerinfo(new sms());
    $dangerinfo->send('小刚','你家失火了');
  • 相关阅读:
    你本地测试环境再难搭建也要搭建出来调试代码
    00 alv抬头等
    流水号生产后调用
    ALV 顶栏的按钮设定
    Redis学习总结
    Mybatis总结
    面试题收集
    java 收集2
    关于Spring的69个面试问答——终极列表
    java 面试收集
  • 原文地址:https://www.cnblogs.com/nr-zhang/p/10950635.html
Copyright © 2011-2022 走看看