做网站外国的服务器,西安二手房出售信息,微信公众号菜单跳转网页怎么制作,服务器主机 网站装饰模式#xff1a;又名包装(Wrapper)模式#xff0c;装饰模式以对客户端透明的方式扩展对象的功能#xff0c;是继承关系的一个替代方案。 装饰模式可以在不创造更多的子类的模式下#xff0c;将对象的功能加以扩展。
经典代码#xff1a;
//装饰模式interface Phone…装饰模式又名包装(Wrapper)模式装饰模式以对客户端透明的方式扩展对象的功能是继承关系的一个替代方案。 装饰模式可以在不创造更多的子类的模式下将对象的功能加以扩展。
经典代码
//装饰模式interface Phone {public abstract void call();
}class Iphone implements Phone {public void call() {System.out.println(手机可以打电话了);}
}abstract class PhoneDecorate implements Phone{private Phone p;public PhoneDecorate(Phone p){this.pp;}public void call(){this.p.call();}
}class RingPhoneDecorate extends PhoneDecorate{public RingPhoneDecorate(Phone p){super(p);}public void call(){System.out.println(手机可以听彩铃了);super.call();}
}class MusicPhoneDecorate extends PhoneDecorate{public MusicPhoneDecorate(Phone p){super(p);}public void call(){super.call();System.out.println(手机可以听音乐了);}
}class PhoneDemo{public static void main(String[] args){Phone p new Iphone();p.call();System.out.println(----------------);PhoneDecorate pd new RingPhoneDecorate(p);pd.call();System.out.println(----------------);pd new RingPhoneDecorate(new MusicPhoneDecorate(p));pd.call();}
}
运行结果
手机可以打电话了
手机可以听彩铃了 手机可以打电话了
手机可以听彩铃了 手机可以打电话了 手机可以听音乐了