基于个人打扮理解装饰模式的应用

发布时间:2024-12-20 14:29

理解基金的运作模式,如开放式、封闭式 #生活技巧# #个人理财技巧# #基金投资#

基于个人打扮理解装饰模式的应用

最新推荐文章于 2024-12-18 18:57:13 发布

yongge 于 2024-04-15 15:57:42 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

目录

1. 什么是装饰模式

2.装饰模式(Decorator)结构图

3.代码实现

3.1 装扮代码结构图

3.2 具体代码实现

3.3 运行结果

4.回顾总结

1. 什么是装饰模式

        动态地给一个对象添加一些额外的职责,就添加功能来说,装饰模式比生成子类更为灵活。

2.装饰模式(Decorator)结构图

3.代码实现 3.1 装扮代码结构图

3.2 具体代码实现

public class Person {

private String name;

public Person() {

}

public Person(String name) {

this.name = name;

}

public void show() {

System.out.println("装扮的"+ this.name);

}

}

public class Finery extends Person {

protected Person component;

public void decorate(Person component) {

this.component = component;

}

@Override

public void show() {

if (component != null) {

component.show();

}

}

}

public class BigTrouser extends Finery{

@Override

public void show() {

System.out.println("跨库 ");

super.show();

}

}

public class LeatherShoes extends Finery {

@Override

public void show() {

System.out.println("皮鞋 ");

super.show();

}

}

public class Sneakers extends Finery{

@Override

public void show() {

System.out.println("破球鞋 ");

super.show();

}

}

public class Suit extends Finery {

@Override

public void show() {

System.out.println("西装 ");

super.show();

}

}

public class Tie extends Finery{

@Override

public void show() {

System.out.println("领带 ");

super.show();

}

}

public class TShirts extends Finery{

@Override

public void show() {

System.out.println("大T恤 ");

super.show();

}

}

public class Main {

public static void main(String[] args) {

Person xc = new Person();

System.out.println("第一种装扮");

Sneakers pqx = new Sneakers();

BigTrouser kk = new BigTrouser();

TShirts dtx = new TShirts();

pqx.decorate(xc);

kk.decorate(pqx);

dtx.decorate(kk);

dtx.show();

System.out.println("第二种装扮");

LeatherShoes px = new LeatherShoes();

Tie ld = new Tie();

Suit xz = new Suit();

px.decorate(xc);

ld.decorate(px);

xz.decorate(ld);

xz.show();

}

}

3.3 运行结果

4.回顾总结

 优点:把类中的装饰功能从类中版已去除,这样可以简化原有的类,这样可以有效的把类的核心职责和装饰功能分开了,而且可以去除相关类中重复的装饰逻辑。

网址:基于个人打扮理解装饰模式的应用 https://www.yuejiaxmz.com/news/view/526316

相关内容

装饰者模式的应用场景
汽车打扮内饰
卧室装饰,打扮温暖不单调的空间
模拟人生4节日装饰在哪 模拟人生4节日装饰指南
绿色建筑装饰理念在建筑装饰中的应用解析
穿衣打扮(穿衣打扮不是取悦别人,而是快乐自己)
装扮和妆扮的区别
“打扮”VS“不打扮”,同一个人差距有多大?看完不敢放纵自己了
个性装扮玩逸生活首饰DIY生活手工饰品
打扮出自己的风格:如何用饰品与搭配焕发可爱魅力

随便看看