当前位置: 首页 > news >正文

泰州住房和城乡建设网站南岸网站建设哪家好

泰州住房和城乡建设网站,南岸网站建设哪家好,图片免费转链接,论述网站建设流程4.4 装饰模式 1.模式定义 不改变现有对象结构的情况下#xff0c;动态地给该对象增加一些职责#xff08;即增加其额外功能#xff09;的模式。 2.模式结构 抽象构件角色 #xff1a;定义一个抽象接口以规范准备接收附加责任的对象。客户端可以方便调用装饰类和被装饰类…4.4 装饰模式 1.模式定义 不改变现有对象结构的情况下动态地给该对象增加一些职责即增加其额外功能的模式。 2.模式结构 抽象构件角色 定义一个抽象接口以规范准备接收附加责任的对象。客户端可以方便调用装饰类和被装饰类。 具体构件角色 实现抽象构件通过装饰角色为其添加一些职责。 抽象装饰角色 继承或实现抽象构件并包含具体构件的实例可以通过其子类扩展具体构件的功能。 具体装饰角色 实现抽象装饰的相关方法并给具体构件对象添加附加的责任。 3.模式原理 在不改变对象本身的基础之上给对象添加或删除行为往往可以通过继承机制或者是关联机制实现 继承机制通过子类对父类的继承重写或添加新的方法来扩展类关联机制将一个类的对象嵌入另一个类的对象之中进而在另一个类中扩展其行为通过递归嵌套实现多层装饰 4.代码模板 抽象装饰类 public class Decorator implements Component {//关联抽象构建private Component component;//构造注入具体构建public Decorator(Component component) {this.component component;}Overridepublic void operation() {component.operation();} }具体装饰类 public class ConcreteDecorator extends Decorator{public ConcreteDecorator(Component component) {super(component);}public void operation() {super.operation();addBehavior();}private void addBehavior() {//新增方法} }5.案例分析 public interface Call {public void callMusic(); }public class Phone implements Call {public Phone() {System.out.println(普通手机);}Overridepublic void callMusic() {System.out.println(来电话了手机发出响声);} }public class Decorator implements Call{private Call call;public Decorator(Call call) {this.call call;}public void setCall(Call call) {this.call call;}Overridepublic void callMusic() {System.out.println(来电话了手机发出响声);} }public class JarPhone extends Decorator {public JarPhone(Call call) {super(call);System.out.println(振动手机);}public void jar() {super.callMusic();System.out.println(振动~~~);} }public class LightPhone extends Decorator{public LightPhone(Call call) {super(call);System.out.println(闪光手机);}public void light() {super.callMusic();System.out.println(闪光~~~);} }public class Main {public static void main(String[] args) {Phone phone new Phone();System.out.println(电话来了);phone.callMusic();System.out.println(————————————————);JarPhone jarPhone new JarPhone(phone);System.out.println(电话来了);jarPhone.jar();System.out.println(————————————————);LightPhone lightPhone new LightPhone(phone);System.out.println(电话来了);lightPhone.light();System.out.println(————————————————);//将闪光手机改装成可以振动且闪光的手机System.out.println(组装手机);lightPhone.light();jarPhone.setCall(lightPhone);jarPhone.jar();} }6.模式优缺点 7.模式使用场景 8.模式应用 IO流中使用InputStream和OutputStream中只提供了简单的读写操作通过装饰模式可以得到具有文件输入输出的FileInputStream等javax.swing中也有大量使用
http://www.hkea.cn/news/14469786/

相关文章:

  • 自己做一网站网站登陆口提交网站
  • 网站改版死链接wordpress怎样弄栏目
  • 企业网站建设的一般要素包括什么cms电影网站模板
  • 东莞企业建设网站官网有限公司android开发者网站
  • 网站主机与服务器吗网易企业邮箱怎么发送文件
  • 可以建微信网站的怎么样开网店卖东西
  • 如何查询网站备案时间查询邱启良 深圳网站建设
  • 商务信息网站怎么做wordpress编辑器 插件
  • 黄埔网站建设 信科网络创建一个自己的网站
  • 专业网站建设软件开发长宁区网站建设网站制
  • 斗图在线制作生成器东莞seo搜索
  • 婴儿网站模板网站建设教程学习
  • 北京网站建设备案openssl 3漏洞补丁
  • 做网站如何买量深圳建设工程价格信息网站
  • 集团网站设计案例网站开发工程师岗位要求
  • 易语言网站开发网站空间一般有多大
  • 网站运营建设的培训老鹰网营销型网站建设
  • 番禺网站公司seo方法培训
  • 英国T4学生签证 可以做网站吗天津市精神文明建设网站
  • 手机网站建设事项wordpress手机版下载
  • php美食网站开发的意义提取卡密网站怎么做
  • 可以做打赏视频的网站wordpress的tag404页面
  • 陕西餐饮加盟网站建设wordpress的极限
  • 网站建设合同 含维护费网站建设灰色关键词
  • 手机怎么制作网站教程步骤免费免费建站
  • 餐饮公司 网站建设导航网址网站怎么做
  • 做的最少的网站电子商务网站推广计划书
  • 提供网站建设的公司wordpress paypal插件
  • 邵阳网站建设多少钱贵州建设厅网站报名系统
  • 服装网站建设策划方案网站后台模板html5