复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 19 Chapter 20 Chapter 22

19、20、22章 ●●●●● ●●●● ●●。●●
19、20、22章

●●●●● ●●●● ●●● 对象的可见性 ●●● ●●●● ●可见性是对象引用其它对象的能力 ●可见性与范围,或者成为作用域问题有关: 某一资源是否在另一个资源的范围之内 四种可见性 属性可见性:B是A的属性。 参数可见性:B是A中方法的参数 局部可见性:B是A中方法的局部对象 全局可见性:B具有某种方式的全局可见性
对象的可见性 ⚫ 可见性是对象引用其它对象的能力 ⚫ 可见性与范围,或者成为作用域问题有关: 某一资源是否在另一个资源的范围之内。 ⚫ 四种可见性 ⚫ 属性可见性:B是A的属性。 ⚫ 参数可见性:B是A中方法的参数。 ⚫ 局部可见性:B是A中方法的局部对象。 ⚫ 全局可见性:B具有某种方式的全局可见性

●●●●● ●●●● ●●● 属性可见性 ●●● ●●●● 当B作为A的属性时,则存在A到B的属性可见性。 class Register public void enterltem(itemID, gty) private ProductCatalog catalog s desc= catalog. getProduct Desc(itemID enterltem Productcatalog (itemID, quantit desc= getProductDesc( itemID
属性可见性 : Register enterItem (itemID, quantity) : ProductCatalog desc = getProductDesc( itemID ) public void enterItem(itemID, qty) { ... desc = catalog.getProductDesc(itemID) ... } class Register { ... private ProductCatalog catalog; ... } ⚫ 当B作为A的属性时,则存在A到B的属性可见性

●●●●● ●●●● ●●● 参数可见性 ●●● ●●●● ●当B作为参数传递给A的方法时,则存在A到B的 参数可见性。 enterltem(id, gty) 2: make Lineltem(desc, aty) Register sale 1: desc= getProductDesc(id) 2.1: create(desc, qty) Product atalog makeLineltem(ProductDescription desc, int gty) sI: SalesLineltem sl= new SalesLineltem(desc, gty)
参数可见性 enterItem 2: makeLineItem(desc, qty) (id, qty) 1: desc = getProductDesc(id) 2.1: create(desc, qty) :Register :Sale :Product Catalog sl : SalesLineItem makeLineItem(ProductDescription desc, int qty) { ... sl = new SalesLineItem(desc, qty); ... } ⚫ 当B作为参数传递给A的方法时,则存在A到B的 参数可见性

●●●●● ●●●● 局部可见性 ●●● ●●● ●●●● ●当B声明为A中方法的局部对象时,则存在A到B 的局部可见性 enterltem(id, qty) /local visibility via assignment of returning object ProductDescription desc= catalog. getProductDes(id) enterltem egister ProductCatalog ( itemID, quantity) desc= getProductDesc( itemID)
局部可见性 : Register enterItem (itemID, quantity) : ProductCatalog desc = getProductDesc( itemID ) enterItem(id, qty) { ... // local visibility via assignment of returning object ProductDescription desc = catalog.getProductDes(id); ... } ⚫ 当B声明为A中方法的局部对象时,则存在A到B 的局部可见性

●●●●● ●●●● ●●● 全局可见性 ●●● ●●●● ●当B对于A是全局时,存在A到B的全局可见性 ●在某些语言,如C艹+中,实现全局可见性的 种方式是将实力分配给全局变量,这种方式在 更纯的面向对象语言,如Java中不可行。 ●实现全局可见性的首选方法是使用单实例模式
全局可见性 ⚫ 当B对于A是全局时,存在A到B的全局可见性 ⚫ 在某些语言,如C++中,实现全局可见性的一 种方式是将实力分配给全局变量,这种方式在 更纯的面向对象语言,如Java中不可行。 ⚫ 实现全局可见性的首选方法是使用单实例模式

●●●●● ●●●● 其它类型的可见性(作用域) ●●● ●●● ●●●● ●在多线程的应用中,需要有线程作用域。 ●对于Web应用,有 Application/ Session/ Request/Page等作用域
其它类型的可见性(作用域) ⚫ 在多线程的应用中,需要有线程作用域。 ⚫ 对于Web应用,有 Application/Session/Request/Page等作用域

●●●●● ●●●● ●●● 变量作用域的管理 ●●● ●●●● ●尽可能缩小变量的作用域,缩短变量的存活时 ●变量存在的时间恰好等于系统需要该变量的时间 ●能够使得你对自己的代码有更加准确的认识 ●缩小作用域的方法 定义变量时,从最严格的可见性开始,然后根据需 要扩展变量的作用域 把相关的语句提取成单独的子程序
变量作用域的管理 ⚫ 尽可能缩小变量的作用域,缩短变量的存活时 间, ⚫ 变量存在的时间恰好等于系统需要该变量的时间 ⚫ 能够使得你对自己的代码有更加准确的认识 ⚫ 缩小作用域的方法 ⚫ 定义变量时,从最严格的可见性开始,然后根据需 要扩展变量的作用域 ⚫ 把相关的语句提取成单独的子程序

●●●●● ●●●● ●●● 变量作用域的管理 ●●● ●●●● ●方便性和智力上的可管理性 ●全局变量使用时比较方便,无需考虑有关参数和作 用域的有关规则 变量局部化的优点是能够提高智力上的可管理性: 能够隐藏的信息越多,在同一时间所需要考虑的信 息就越少
变量作用域的管理 ⚫ 方便性和智力上的可管理性 ⚫ 全局变量使用时比较方便,无需考虑有关参数和作 用域的有关规则 ⚫ 变量局部化的优点是能够提高智力上的可管理性: 能够隐藏的信息越多,在同一时间所需要考虑的信 息就越少

●●●●● ●●●● ●●● 将设计映射为代码 ●●● ●●●● 从UM图到代码之间存在转换过程 ●类和接口的定义 从DCD创建类和接口的定义 方法的定义 从交互图创建方法
将设计映射为代码 ⚫ 从UML图到代码之间存在转换过程 ⚫ 类和接口的定义 ⚫ 从DCD创建类和接口的定义 ⚫ 方法的定义 ⚫ 从交互图创建方法
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 18 - 使用GRASP的对象设计示例.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 17 - GRASP基于职责设计对象.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 16 - UML类图.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 15 - UML交互图.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 14 - 迈向对象设计.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 13 - 逻辑架构和UML包图.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 11 - 操作契约.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 10 - 系统顺序图.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 9 - 领域模型.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 8 - 细化阶段的迭代——基础.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 7 - 其他需求.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 6 - 用例.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 4 Chapter 5 - 初始阶段的需求.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 3 - 案例分析 THE NEXTGEN POS SYSTEM.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_OOP:Object-Oriented Programming.pptx
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 2 - 迭代、进化和敏捷.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 1 - 面向对象分析和设计.ppt
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_9-11 UC Design、Subsystem Design、Class Design.pdf
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_6-8 Identify Design Elements、RunTime Architecture、Describe Distribution.pdf
- 复旦大学:《面向对象分析和设计》课程资料_课程注册系统_1-5 最佳实践、需求、分析设计、架构分析、用例分析.pdf
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 21 测试驱动的开发与重构.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_复习:OOAD部分.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_AOP Aspect Oriented Programming.pptx
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Hibernate Persistence.ppt
- 复旦大学:《面向对象分析和设计》课程资料_UML和模式_Hibernate 演示场景.pptx
- 复旦大学:《电子商务》课程资源_教学大纲.pdf
- 复旦大学:《电子商务》课程资源_教学案例:The Business Model-Recent Developments and Future Research-JOM2011.pdf
- 复旦大学:《电子商务》课程资源_教学研究:Online Game Addiction among Adolescents_Motivation and Prevention Factors.pdf
- 复旦大学:《电子商务》课程资源_教学研究:Research On The Utility Of An Advanced ACA In Context-Aware Tour Planning System.pdf
- 复旦大学:《电子商务》课程PPT课件_第二次课 电子商务的商业模式与分类.ppt
- 复旦大学:《电子商务》课程PPT课件_第一次课 引言(胥正川).ppt
- 复旦大学:《电子商务》课程PPT课件_第三次课 电子商务过程及相关因素(电子商务创业).ppt
- 复旦大学:《电子商务》课程PPT课件_第四次课 电子商务商业计划书写作 Creating a Winning E-Business Second Edition.ppt
- 复旦大学:《电子商务》课程PPT课件_第七次课 B2C电子商务——网上零售.pptx
- 复旦大学:《电子商务》课程PPT课件_第九次课 B2B电子商务(B2B行业平台).ppt
- 复旦大学:《电子商务》课程PPT课件_第五次课 商业模式的概念与内涵(发现商业模式).ppt
- 复旦大学:《电子商务》课程PPT课件_第八次课 电子商务模式与应用课程主题案例分析与展示——电子商务团购.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Getting Your E-Business Off The Ground.ppt
- 复旦大学:《电子商务》课程PPT课件_第六次课 电子商务运营与管理 Operating Your E-Business.ppt
- 复旦大学:《电子商务》课程PPT课件_第十次课 社会化电子商务——Hold住社会化媒体营销.ppt