*模拟人发声,用扩音器来装饰人的声音
*装饰器设计模式四大组成部分
*1,抽象组件:需要装饰的抽象对象,一般是接口或者抽象父类(say)
*2,具体组件:需要装饰的对象(人)
*3,抽象装饰类:包含了对抽象组件的引用,以及装饰者共有的方法
*4,具体的装饰类:被装饰的对象。
*/
public class IOprinciple {
public static void main(String[] args) {
Person p = new Person();
p.say();//人的声音
//装饰器(扩音器)装饰放大人的声音
Amplifier am = new Amplifier(p);
am.say();
}
}
//接口 say
interface Say{
void say();
}
//人原有的声音
class Person implements Say{
//属性 人的声音有多少分贝
private int voice = 10;
@Override
public void say() {
System.out.println("人的声音有:"+this.voice+"分贝");
}
public int getVoice() {
return voice;
}
public void setVoice(int voice) {
this.voice = voice;
}
}
//放大器
class Amplifier implements Say{
Person p ;
public Amplifier(Person p) {
this.p=p;
}
public void say() {
System.out.println("人的声音有:"+p.getVoice()*100+"分贝");
}
}
* IO原理剖析-装饰器设计模式(1)
最新推荐文章于 2024-02-07 07:00:00 发布