概述
本篇文章给大家带来了关于java的相关知识,其中主要介绍了关于设计模式的相关问题,主要将装饰器模式的相关内容,指在不改变现有对象结构的情况下,动态地给该对象增加一些职责的模式,希望对大家有帮助。
推荐学习:《java视频教程》
什么是装饰器模式
装饰器(Decorator)模式的定义: 指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。
优点
缺点
知识点
装饰器模式实现
案例: 黑小虎抓住了七侠,还要把虹猫烤了
抽象构件(Component)角色:七侠
具体构件(ConcreteComponent)角色:虹猫
抽象装饰(Decorator)角色:加料
具体装饰(ConcreteDecorator)角色:加盐、加孜然。
七侠
public interface Qi {
void show();}
登录后复制
虹猫
public class Hong implements Qi {
@Override
public void show() {
System.out.println("烧烤一个虹猫");
}}
登录后复制
加料
public class JiaLiao implements Qi {
private Qi qi;
JiaLiao() {
}
JiaLiao(Qi component) {
this.qi = component;
}
@Override
public void show() {
qi.show();
}}
登录后复制
加盐
public class Yan extends JiaLiao {
private Qi qi;
Yan() {
}
Yan(Qi qi) {
super(qi);
}
@Override
public void show() {
super.show();
add();
}
public void add() {
System.out.println("加盐");
}}
登录后复制
加孜然
public class ZiRan extends JiaLiao {
private Qi qi;
ZiRan() {
}
ZiRan(Qi qi) {
super(qi);
}
@Override
public void show() {
super.show();
add();
}
public void add() {
System.out.println("加孜然");
}}
登录后复制
测试
public class Demo {
public static void main(String[] args) {
Qi qi = new Hong();
qi.show();
System.out.println();
Qi qi1 = new Yan(qi);
qi1.show();
System.out.println();
Qi qi2 = new ZiRan(qi1);
qi2.show();
}}
登录后复制
总结
推荐学习:《java视频教程》
以上就是归纳整理JAVA装饰器模式(实例详解)的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是有魅力鸭子为你收集整理的归纳整理JAVA装饰器模式(实例详解)的全部内容,希望文章能够帮你解决归纳整理JAVA装饰器模式(实例详解)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复