首页 学习Scala的定义工厂对象

学习Scala的定义工厂对象

举报
开通vip

学习Scala的定义工厂对象学习Scala的定义工厂对象 你现在有了布局元素的类层级。这个层级可以“依原件”展现给你的客户。但是你或许还是选择把层 级隐藏在工厂对象之后。工厂对象包含了构建其它对象的方法。客户与实惠使用这些工厂方法实现对象 的构造而不是直接使用new构造对象。这种方式的一个好处是对象的创建可以被集中化并且对象实际代表 类的细节可以被隐藏。这种隐藏一方面简化客户理解你的库,因为更少的细节被暴露出来,另一方面提 供给你更多机会在之后改变库的实现而不会破坏客户代码。 为布局元素构建工厂的第一任务是选择工厂方法应该放在哪儿。它们应该...

学习Scala的定义工厂对象
学习Scala的定义工厂对象 你现在有了布局元素的类层级。这个层级可以“依原件”展现给你的客户。但是你或许还是选择把层 级隐藏在工厂对象之后。工厂对象包含了构建其它对象的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 。客户与实惠使用这些工厂方法实现对象 的构造而不是直接使用new构造对象。这种方式的一个好处是对象的创建可以被集中化并且对象实际代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 类的细节可以被隐藏。这种隐藏一方面简化客户理解你的库,因为更少的细节被暴露出来,另一方面提 供给你更多机会在之后改变库的实现而不会破坏客户代码。 为布局元素构建工厂的第一任务是选择工厂方法应该放在哪儿。它们应该是单例对象成员还是类成员 ,包含它们的对象或类应该怎么调用,这里有许多可能性。最直接的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 是创建类Element的伴生对象并 把它做成布局元素的工厂方法。对于这种方式,你唯一要暴露给客户的就是Element的类/对象组合,隐 藏它的三个实现类ArrayElement,LineElement和UniformElement。 代码10.10是遵循了这个方案的 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 。Element伴生对象包含了三个重载的elem方法变体。每一个变体 构建一种不同的布局对象。 object Element { def elem(contents: Array[String]): Element = new ArrayElement(contents) def elem(chr: Char, width: Int, height: Int): Element = new UniformElement(chr, width, height) def elem(line: String): Element = new LineElement(line) } 代码 10.10 带有工厂方法的工厂对象 这些工厂方法使得改变类Element的实现通过使用elem工厂方法实现而不用显式地创建新的 ArrayElement实例成为可能。为了不使用单例对象的名称,Element,认证而调用工厂方法,我们将在源 文件顶上引用Element.elem。换句话说,代之以在Element类内部使用Element.elem调用工厂方法,我们 将引用Element.elem,这样我们只要使用它们的简化名,elem,就可以调用工厂方法。代码10.11展示了 类Element在这些改变之后的样子。 import Element.elem abstract class Element { def contents: Array[String] def width: Int = if (height == 0) 0 else contents(0).length def height: Int = contents.length def above(that: Element): Element = elem(this.contents ++ that.contents) def beside(that: Element): Element = elem( for ( (line1, line2) < - this.contents zip that.contents ) yield line1 + line2 ) override def toString = contents mkString "\n" } 代码 10.11 重构以使用工厂方法的类Element
本文档为【学习Scala的定义工厂对象】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_471618
暂无简介~
格式:doc
大小:13KB
软件:Word
页数:2
分类:
上传时间:2018-03-23
浏览量:14