超快速了解包装(装饰者)设计模式

编程入门 行业动态 更新时间:2024-10-23 17:24:45

超<a href=https://www.elefans.com/category/jswz/34/1771431.html style=快速了解包装(装饰者)设计模式"/>

超快速了解包装(装饰者)设计模式

超快速了解包装(装饰者)设计模式

今天来分享一下软件算法面试时常被提及的设计模式中的包装(装饰者)设计模式。
其实简单来说,一个类相当于一个房子,它要实现房子的接口中的规范,来了个工程队,他也要实现房子的接口中的规范,然后这个工程队对这个房子进行装饰修缮,没修到的地方还是原来的房子,也就是原方法;修到的地方有了新的格局,也就是新的方法。
下面我们用代码演示一下:
(1)创建一个房子House接口

package designPatterns.baozhuang;public interface House {//有一个地板方法void floor();//有一个墙方法void wall();
}

(2)创建一个House接口的实现类毛坯房MaoPiHouse类

package designPatterns.baozhuang;public class MaoPiHouse implements House {@Overridepublic void floor() {System.out.println("现在是水泥地!!!");}@Overridepublic void wall() {System.out.println("现在是刷完的墙。");}}

(3)创建一个工程队EnginnerTeam类也要实现House接口

package designPatterns.baozhuang;public class EnginnerTeam implements House{House l;public EnginnerTeam (House l) {this.l = l ;}@Overridepublic void floor() {System.out.println("现在是纯木地板地了!!!");}@Overridepublic void wall() {l.wall();}}

(4)建立测试类

package designPatterns.baozhuang;public class Test {public static void main(String[] args) {House l = new MaoPiHouse();//创建被包装对象l = new EnginnerTeam(l);//创建包装对象l.floor();l.wall();}}

运行输出:
现在是纯木地板地了!!!
现在是刷完的墙。
这就是装饰者模式了。
下面总结一下包装设计模式的步骤:
(1)创建包装类,实现与被包装类相同的接口;
(2)包装类中声明被包装类类型对象;
(3)通过构造方法注入被包装的包装类对象;
(4)不关注的方法直接调用被包装类对象的原方法,关注的方法则进行修改。

更多推荐

超快速了解包装(装饰者)设计模式

本文发布于:2024-02-16 20:01:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1691310.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:快速   模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!