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

麦包包在网站建设方面网站制作模板

麦包包在网站建设方面,网站制作模板,百度搜索引擎网站,注册公司步骤写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用#xff0c;主要是下面的UML图可以起到大作用#xff0c;在你学习过一遍以后可能会遗忘#xff0c;忘记了不要紧#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 解释器模式#xff08;Interp…写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用主要是下面的UML图可以起到大作用在你学习过一遍以后可能会遗忘忘记了不要紧只要看一眼UML图就能想起来了。同时也请大家多多指教。 解释器模式Interpreter 类行为型模式。 目录 一、概述 1.1、直观的理解 1.2、主要角色 1.3、描述对象之间关系的UML图 1.4、适用场景 二、代码举例 2.1、对象之间的关系用UML图描述如下 2.2、Java代码如下 一、概述 1、给定一个语言定义它的文法的一种表示并定义一个解释器这个解释器使用该表示来解释语言中的句子。 1.1、直观的理解 假设有2个解释器按顺序解释内容那么 可以看到内容被解释器一段一段的解释和翻译。 1.2、主要角色 解释器解释器的抽象类或接口 具体的解释器实现类 包括 终结符表达式 非终结符表达式内容Context被解释的内容请求发起者Client 1.3、描述对象之间关系的UML图 1.4、适用场景 1、如果一种特定类型的问题发送的频率足够高那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器该解释器通过解释这些句子来解决该问题 2、可以更容易地改变和扩展文法因为该模式使用类来表示文法规则你可以使用继承来改变或扩展该文法 3、当有一个语言需要解释执行并且你可将该语言中的句子表示为一个抽象语法树时可使用解释器模式 4、典型的例子有正则表达式 5、因为解释器模式为文法中的每一条规则至少定义了一个类所以文法非常复杂时还是建议使用其他技术如语法分析程序或编译器生成器来处理。 注当效率不是关键问题时才会用此模式如正则表达式更多情况下是转换为状态机来实现的。状态机是什么我一时也说不出来什么不过你可以在练习编程算法的网站上找相关的题去学习题解或练习。 二、代码举例 假设现有两个解释器用来解释字符串的内容。 这个例子比较简单就不再详细分析了。但你可以把本例当做一个模板然后灵活使用 2.1、对象之间的关系用UML图描述如下 2.2、Java代码如下 内容类 public class Context {private String input;public String getInput() {return input;}public void setInput(String input) {this.input input;}private String output;public String getOutput() {return output;}public void setOutput(String output) {this.output output;} }解释器的抽象类 abstract class AbstractExpression {public abstract void interpret(Context context); }解释器A public class ConcreteExpressionA extends AbstractExpression {Overridepublic void interpret(Context context) {System.out.println(解释器A处理中。。。。);} }解释器B public class ConcreteExpressionB extends AbstractExpression {Overridepublic void interpret(Context context) {System.out.println(解释器B处理中。。。。);} }主程序发起请求的类 public class Main {public static void main(String[] args) {Context context new Context();//核心是解释器如何处理内容以下只是最简单的举例ListAbstractExpression expressionList new ArrayList();expressionList.add(new ConcreteExpressionA());expressionList.add(new ConcreteExpressionB());expressionList.add(new ConcreteExpressionA());expressionList.add(new ConcreteExpressionB());for (AbstractExpression abstractExpression : expressionList) {abstractExpression.interpret(context);}} }这里就不再举例了可以把上面的Java例子复制到你本地运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的不存在bug可以直接运行。 如果觉得本文还不错就请点个赞给作者一点鼓励吧如果有建议也请评论指教和讨论
http://www.zqtcl.cn/news/249335/

相关文章:

  • 有个网站做彩盒的贵阳网站建设托管
  • 网站制作属于什么专业做网站需要什么配置服务器吗
  • 网站开发学习培训广州网站优化关键词公司
  • 毕节金海湖新区城乡建设局网站企业网站的步骤
  • 网站后台设计教程网站建设判断题
  • 珠海网站建设 金蝶天元建设集团有限公司李华
  • 海安市建设局网站成都官网seo技术
  • 网站建设策划书结束语wordpress付费版
  • 进口网站建设做网站用什么格式的图片
  • 青海省住房和城乡建设部网站进入网站空间
  • 做公司简介的开源网站企业seo多少费用
  • 学校网站建设工作方案昆明做网站词排名优化
  • 镇江企业做网站针对人群不同,网站做细分
  • 个人单页网站建设台州网站建设惠店
  • 专做婚礼logo的网站做搜狗pc网站快速排
  • 北京网站建设公司分享网站改版注意事项做网站需要多大空间
  • 主机网站建设制作天津西青区天气预报
  • 网站没有内容可以备案吗横向网站源码
  • 做的网站浏览器提示不安全站优化
  • dede移动端网站源码电子商务网站建设开题报告
  • 做网站价格多少优质做网站哪家好
  • 网站建设及推广服务的合同范本留言网站建设的报告
  • 工程师招聘网站做网站需要公司资质吗
  • 苏州模板网站建站开网店如何运营和推广
  • 换空间网站备案北京网页设计平台
  • 德德模板网站建设步骤可信的品牌网站建设
  • 网站权重0免费好用的ip代理
  • 赣州建设网站公司敬请期待英文怎么写
  • 可以做多边形背景的网站深圳网站建设 套餐
  • 建设工程的招标网站有哪些长江证券官方网站下载