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

订餐网站怎么做一单一结手机兼职

订餐网站怎么做,一单一结手机兼职,访问自己做的网站吗,手机端搜索引擎排名写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用#xff0c;主要是下面的UML图可以起到大作用#xff0c;在你学习过一遍以后可能会遗忘#xff0c;忘记了不要紧#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。…写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用主要是下面的UML图可以起到大作用在你学习过一遍以后可能会遗忘忘记了不要紧只要看一眼UML图就能想起来了。同时也请大家多多指教。 装饰模式 是一种结构型模式。 目录 一、概述 1.1、主要的角色 1.2、直观的理解装饰模式要干什么 1.3、那么该如何思考呢 1.4、我先给出描述对象之间关系的UML图 1.5、什么是断点 二、举例代码实现 2.1、对象之间的关系用UML图表示如下 2.2、代码如下建议你在本地试一下加深印象 一、概述 1、需要把所需的功能按正确的顺序串联起来进行控制; 2、动态地给一个对象添加一些额外的职责就增加功能来说装饰模式比生成子类更为灵活; 3、装饰模式是为已有的功能动态的添加更多功能的一种方式; 4、主要是给一个核心类 动态的添加各种功能。 1.1、主要的角色 主要的角色分两种但从代码或技术实现的角度看为了充分使用面向对象语言的3大特性封装、继承、多态还另外需要抽象类或接口可能有4个 组件类组件类的抽象类或接口 组件类的实现类装饰类装饰类的抽象类或接口  装饰类的实现类 1.2、直观的理解装饰模式要干什么 举个简单例子之前是只运行对象A现在新加了对象B和对象C当我们希望要运行的对象应该由对象A到对象B再到对象C也就是希望对象运行之间有严格的顺序要求时就可以尝试使用装饰模式。如我们希望达到的效果是这样的 1.3、那么该如何思考呢 可以从上可以看到原先只有对象A而对象B和对象C是后来加上的且有严格的执行顺序那么应用装饰模式后我们可以认为 对象A为组件类对象B和对象C为装饰类用来装饰对象A 除此之外对于代码实现而言非常重要的东西是 装饰类里的“断点”这个词是我拍脑子想的是为了帮助我们理解如何实现此模式而产生的下面我会解释它是什么。 1.4、我先给出描述对象之间关系的UML图 1.5、什么是断点 这是我从代码实现的角度提出的所以要从代码的角度解释 就拿上面的简单的举例来说我们可以很明确地看到执行顺序是A-》B-》C但实际代码实现上并非这样有前后顺序而是你中有我、我中有你解释图如下 看懂上图我们就理解断点的意义了同时也能发现装饰模式远比我们想象的更加灵活不只是简单的A-》B-》C就不再举例了。 需要说明的是不同语言具体的实现方式略有不同如python的语法本身就支持装饰器使用起来也更容易而Java则需要创建装饰器父类然后具体的装饰对象要继承父类将调用父类的方法当做断点使用。但他们的共同点就是都有一个断点这个断点可以用来插入别的类或对象的代码去运行。 二、举例代码实现 现有一个组件类和装饰类A、装饰类B我们希望可以先运行组件类、再运行装饰类A、再运行装饰类B。 不再分析了例子本身比较简单而且上面概述当中也说的很清楚了。就直接给uml图和Java实现代码 2.1、对象之间的关系用UML图表示如下 2.2、代码如下建议你在本地试一下加深印象 Java实现。 组件类的抽象类 abstract class Component {public abstract void operation(); }具体的组件类 public class ConcreteComponent extends Component {Overridepublic void operation() {System.out.println(具体组件对象的实际操作);} }装饰类的抽象类 abstract class Decorator extends Component {protected Component component;public void setComponent(Component component) {this.component component;}Overridepublic void operation() {if (this.component ! null) {component.operation();}} }装饰类A public class ConcreteDecoratorA extends Decorator {private String testA;Overridepublic void operation() {super.operation(); //断点this.testA 具体装饰对象A的独有操作;System.out.println(this.testA);} } 装饰类B public class ConcreteDecoratorB extends Decorator {Overridepublic void operation() {super.operation(); //断点this.testB();}private void testB() {System.out.println(具体装饰对象B的独有操作);} }主程序发起请求的类 public class Main {public static void main(String[] args) {ConcreteComponent component new ConcreteComponent();ConcreteDecoratorA concreteDecoratorA new ConcreteDecoratorA();ConcreteDecoratorB concreteDecoratorB new ConcreteDecoratorB();concreteDecoratorA.setComponent(component);concreteDecoratorB.setComponent(concreteDecoratorA);concreteDecoratorB.operation();} }这里就不再举例了可以把上面的Java例子复制到你本地运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的不存在bug可以直接运行。 如果觉得本文还不错就请点个赞给作者一点鼓励吧如果有建议也请评论指教和讨论
http://www.hkea.cn/news/14425711/

相关文章:

  • 网站建设公司一般多少钱广州建站网站前十名
  • 台州建设规划局网站怎么自己做充值网站
  • 做家教中介网站赚钱吗wordpress+大屏模版
  • 温州网站制作公司英德网络推广
  • 观山湖制作网站哪些群体对网站开发有需求
  • 成品网站w灬源码伊甸制作免费网站
  • 织梦做的网站怎么样展馆设计方案
  • 深圳建设局官网站首页大数据营销精准营销
  • 厦门市网站建设软件开发公司电商手机网站开发
  • 知名外贸网站建设公司河南省住房城乡与建设厅网站
  • 做的网站老被攻击月嫂的个人简历网站模板
  • 东莞做外贸网站深圳有名的建筑公司
  • 交河网站建设wordpress asp.net
  • 校园论坛网站源码软件开发上海
  • 公司官网网站如何建立公司的研究与开发
  • 家居商城网站模板秦皇岛营销式网站制作
  • 网页具有动画网站建设技术公众号绑定网站
  • 国外平面设计分享网站有哪些wordpress修改底部联系QQ
  • 手机网站建设方法鄂州网站建设推广报价
  • 湖州市交通建设管理局网站做网站企业 金坛
  • 专做polo衫的网站泰州网页设计需要多少钱
  • wordpress网站翻译插件网站建设001
  • 石景山网站建设多少钱上海公司网站建设以子
  • 制作网站结构设计wordpress图片视频分享代码
  • 如何从建设局网站上更换职称人员wordpress循环该分类子分类
  • 网站建设与管理教学方案广州地铁
  • 网站开发 python怎么注册一个网站
  • 浙江网站建设推广公司十大排行网页设计及讲解多少钱
  • 学做网站需要多久时间哪家公司做网站不错
  • 企业网站宣传怎么用wordpress建立自己的网站吗