Java设计模式---装饰器模式

时间:2018-08-13 12:35:27来源:杰瑞文章网点击:作文字数:500字
记录一下装饰器模式 举个栗子 c9805b65b64f890ab291c454143f10b6.jpeg 装饰器模式,模式如其名,就像女生们出门都喜欢打扮得漂漂亮亮的,而这些穿在身上的,戴在头上的,涂在脸上的都是一种装饰。 装饰要有一个主体就是这个女生,东西都是用来装饰她的,而且有顺序,先涂个口红,再画个眉毛。。。。只要可以装饰的,都可以随时拿来加在身上。 下面用代码来实现一下: 先定义一个人的基接口: public interface BaseMan { //出门 String goOut(); } 这个人有一个出门的方法。 下面来一个女人实现人这个接口。 public class WoMan implements BaseMan { @Override public String goOut() { return "出门了"; } } BaseMan woMan = new WoMan(); System.out.println(woMan.goOut()); QQ截图20200327204328.png 现在女人调用方法就直接出门了,连衣服都没穿。。。。。这可不行。 所以我们先给这个女生装饰一下 先定义装饰器的一个基类: public abstract class BaseDecoration implements BaseMan { } 再来个衣服的装饰器继承它: public class ClothesDecoration extends BaseDecoration { private BaseMan baseMan; public ClothesDecoration(BaseMan baseMan){ this.baseMan = baseMan; } @Override public String goOut() { return baseMan.goOut() + "穿上了衣服,"; } } 这个装饰器传进来一个主体,就是这个女生,然后在她出门之前对她进行装饰。 照这个再来个裤子的装饰器: public class PantsDecoration extends BaseDecoration { private BaseMan baseMan; public PantsDecoration(BaseMan baseMan){ this.baseMan = baseMan; } @Override public String goOut() { return baseMan.goOut() + "穿上了裤子,"; } } 现在我们可以让女生出门了: BaseMan woMan = new WoMan(); BaseMan woMan1 = new ClothesDecoration(woMan); BaseMan woMan2 = new PantsDecoration(woMan1); System.out.println(woMan2.goOut()); QQ截图20200327204739.png 现在这个女生出门前,就穿上了衣服裤子,当然如果还需要其他的装饰,还可以继续添加。。 这样装饰就可以在不改变原有东西的基础上,动态灵活的添加自己想要得东西。。这就是装饰器的优点了。
作文投稿

Java设计模式---装饰器模式一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!

杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。

Java设计模式---装饰器模式相关的作文:

    无相关信息

说说你对这篇作文的看法吧