zoukankan      html  css  js  c++  java
  • php

    <?php
    /**
    * @Description: 桥接模式
    * @Author: luoxiaojin
    * @Date: 2020-06-30 10:06:41
    * @LastEditors: luoxiaojin
    * @LastEditTime: 2020-06-30 11:00:04
    * @FilePath: design_patternsl10.php
    */
    
    // 论坛发送站内信
    
    abstract class Msg{
        // 发送方式
        protected $send = null;
        // 发送内容
        protected $text = '';
    
        public function content(){
            // 
        }
        public function send(){
            // 
        }
    }
    
    // 发送方式
    class EmailMsg extends Msg{
        public function __construct($to,$text){
            $this->text = $to.$text;
        }
    
        public function content(){
            return 'Email:'.$this->text;
        }
    }
    
    class SmsMsg extends Msg{
        public function __construct($to,$text){
            $this->text = $to.$text;
        }
    
        public function content(){
            return '短信:'.$this->text;
        }
    }
    
    // 紧急程度
    class CommonSend extends Msg{
        public function __construct(Msg $obj){
            $this->text = $obj->content();
        }
    
        public function send(){
            return "{$this->text},普通信息!";
        }
    }
    
    class UrgentSend extends Msg{
        public function __construct(Msg $obj){
            $this->text = $obj->content();
        }
        
        public function send(){
            return "{$this->text},紧急通知!";
        }
    }
    
    // 耦合调用
    $commonEmailMsg = new CommonSend(new EmailMsg('小明','吃饭了!'));
    echo $commonEmailMsg->send();
    
    $urgentSmsMsg = new UrgentSend(new SmsMsg('小红','家里失火了!'));
    echo $urgentSmsMsg->send();
    

      

  • 相关阅读:
    关于第三方库
    一些css属性,抄自某个大神忘记谁了,不好意思
    10.使用express模拟数据服务器
    9.text-shadow
    8.css背景图案
    7.一个抄来圆形菜单
    6.文字闪烁效果
    5.偶然看到的一个css加载动画
    4.怎样使用css实现一个切角效果
    3.写一个简单的弹出菜单
  • 原文地址:https://www.cnblogs.com/weixinsb/p/13223575.html
Copyright © 2011-2022 走看看