博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装饰模式
阅读量:6937 次
发布时间:2019-06-27

本文共 835 字,大约阅读时间需要 2 分钟。

hot3.png

 装饰( Decorator )模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。

 抽象组件角色: 一个抽象接口,是被装饰类和装饰类的父接口。
 package com.org.decorator;
    public interface Car {
    public void show();
    public void run();
}
 
具体组件角色:为抽象组件的实现类。
抽象装饰角色:包含一个组件的引用,并定义了与抽象组件一致的接口。
package com.org.decorator;
public abstract class CarDecorator implements Car{
    private Car car;
    
    public Car getCar() {
        return car;
    }
    public void setCar(Car car) {
        this.car = car;
    }
    public CarDecorator(Car car) {
        this.car = car;
    }
    
    public abstract void show();
}
具体装饰角色:为抽象装饰角色的实现类。负责具体的装饰。
package com.org.decorator;
public class SwimCarDecorator extends CarDecorator {
    public SwimCarDecorator(Car car) {
        super(car);
    }
    public void show() {
        this.getCar().show();
        this.swim();
    }
    
    public void swim() {
        System.out.println("¿ÉÒÔÓÎ");
    }
    public void run() {
        
    }
}

转载于:https://my.oschina.net/goudingcheng/blog/505640

你可能感兴趣的文章
Git查看、删除、重命名远程分支和tag【转】
查看>>
PHP生成PDF并转换成图片爬过的坑
查看>>
1.html
查看>>
HTML4如何让一个DIV居中对齐?float输入日志标题
查看>>
PYTHON——多线程:队列Queue数据结构
查看>>
Joomla 2.5 中文语言包安装模板报错
查看>>
hibernate一对多
查看>>
Tossim仿真Blink 01
查看>>
RCP开发小技巧(二)
查看>>
hdu 1004
查看>>
图像分类丨ILSVRC历届冠军网络「从AlexNet到SENet」
查看>>
nodejs安装及环境配置(windows系统)
查看>>
设计模式之单例模式
查看>>
数学与当代生命科学(吴家睿)
查看>>
HDU-5532(LIS-nlogn)
查看>>
C#使用Log4Net记录日志
查看>>
《需求工程-软件建模与分析之读书笔记之三》
查看>>
04封装 里氏转换 多态
查看>>
虚拟机Ping不通主机解决
查看>>
精子的N死法
查看>>