您的位置:首页 > 编程语言 > Java开发

java设计模式——装饰模式

2017-01-16 16:01 316 查看
当想要对已有的对象进行功能增强时,

可以定义一个类,将已有对象传入,基于已有的功能,并提供加强功能,那么自定义的类就称为装饰类。

装饰类通常会通过构造方法接收被装饰的对象,并提供更强的方法

并且可以通过多态提高复用性

例:

`class Person

{

public void chifan()

{

System.out.println(“吃饭”);

}
}
class SuperPerson

{

private Person p;

SuperPerson(Person p)

{

this.p=p;

}
public void superChifan()

{

System.out.println(“喝酒”);

p.chifan();

System.out.println(“甜点”);

}


}`

装饰和继承的区别:

装饰模式比继承模式更加灵活,避免了继承体系的臃肿 而且降低了类与类之间的关系

装饰类因为增强已有对象,具备的功能也已有的是相同的,只不过提供了更强功能 所以装饰类和被装饰类通常都属于一个体系中

由继承结构变成组合结构
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java设计模式