zoukankan      html  css  js  c++  java
  • 装饰者模式

    装饰者模式  

    装饰者模式使用步骤:
      1.装饰者和被装饰者实现同一个接口或者继承同一个类
        2.装饰者中要有被装饰者的引用
      3.对需要增强的方法进行加强
      4.对不需要加强的方法调用原来方法
      

    小练习:

      1.创建项目DesignMode

      2.创建包com.decorator_pattern.hjh

      3.接口Car、被装饰者类BMCar、装饰者类CarWrap、测试类CarTest

    接口Car:

    package com.decorator_pattern.hjh;
    
    //接口
    public interface Car {
         public void run();
         public void stop();
    }

    被装饰者类BMCar:

    package com.decorator_pattern.hjh;
    
    //被装饰者BMCar
    public class BMCar  implements Car{
        
        @Override
        public void run() {
            System.out.println("BMC车在跑。。。");
        }
    
        @Override
        public void stop() {
            System.out.println("BMCar刹车");
        }
    }

    装饰者类CarWrap:

    package com.decorator_pattern.hjh;
    
    public class CarWrap  implements Car{
        private Car car;
        
        public CarWrap(Car car) {
            this.car = car;
        }
        
        @Override
        public void run() {
            System.out.println("加满油");
            System.out.println("轻装上阵100码");
        }
    
        @Override
        public void stop() {
            car.stop();
        }
    }

    测试类CarTest:

    package com.decorator_pattern.hjh;
    
    public class CarTest {
        public static void main(String [] args) {
            BMCar car = new BMCar();
            //car.run();//BMC车在跑。。。
            //car.stop();//BMCar刹车
            
            CarWrap cw = new CarWrap(car);
            cw.run();//加满油  轻装上阵100码
            cw.stop();//BMCar刹车
            
        }
    }
  • 相关阅读:
    Javascript高性能编程-提高Dom访问速度
    获取在线人数
    js倒计时
    支付宝支付
    微信扫码支付
    多条sql语句实现事物处理
    防止页面重复刷新
    bootstrapTable.js 使用
    org_chart.js 使用方法
    js上传图片及时显示
  • 原文地址:https://www.cnblogs.com/hejh/p/10868061.html
Copyright © 2011-2022 走看看