面向对象设计课件.ppt

上传人:石*** 文档编号:84144177 上传时间:2023-04-02 格式:PPT 页数:66 大小:2.87MB
返回 下载 相关 举报
面向对象设计课件.ppt_第1页
第1页 / 共66页
面向对象设计课件.ppt_第2页
第2页 / 共66页
点击查看更多>>
资源描述

《面向对象设计课件.ppt》由会员分享,可在线阅读,更多相关《面向对象设计课件.ppt(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、面向对象设计面向对象设计第1页,此课件共66页哦面向对象设计面向对象设计v面向对象设计(面向对象设计(OODOOD)就是把分析阶段得到的需)就是把分析阶段得到的需求转变成符合成本和质量要求的、抽象的系统实求转变成符合成本和质量要求的、抽象的系统实现方案的过程。现方案的过程。v面向对象设计的任务就是按照设计原则,对模型面向对象设计的任务就是按照设计原则,对模型进行细化,朝着实现系统的方向进行多次迭代。进行细化,朝着实现系统的方向进行多次迭代。第2页,此课件共66页哦主要内容主要内容v面向对象设计的准则面向对象设计的准则v启发式规则启发式规则v软件重用软件重用v系统分解系统分解v设计问题域子系统设

2、计问题域子系统v设计人设计人-机交互子系统机交互子系统v设计任务管理子系统设计任务管理子系统v设计数据管理子系统设计数据管理子系统v设计类中的服务设计类中的服务v设计关联设计关联v设计优化设计优化第3页,此课件共66页哦面向对象设计的准则面向对象设计的准则v 模块化模块化v 抽象抽象v 信息隐蔽信息隐蔽v 弱耦合弱耦合v 强内聚强内聚v 可重用可重用第4页,此课件共66页哦面向对象设计的准则面向对象设计的准则v1 1、模块化、模块化n面向对象开发方法很自然地支持了把系统分解成模块的设计原则:对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。第5页,此课件共66页哦面

3、向对象设计的准则面向对象设计的准则v2 2、抽象、抽象n面向对象方法不仅支持过程抽象,而且支持数据抽象。n1、类是抽象的数据类型n2、参数化数据类型,参数化类v3 3、信息隐蔽、信息隐蔽n在面向对象方法中,信息隐藏通过对象的封装性来实现。第6页,此课件共66页哦面向对象设计的准则面向对象设计的准则v4 4、弱耦合、弱耦合n在面向对象方法中,对象是最基本的模块,因此,耦合主要指不同对象之间相互关联的紧密程度。低耦合是设计的一个重要标准,因为这有助于使得系统中某一部分的变化对其它部分的影响降到最低程度。n(1)交互耦合:通过消息连接实现n(2)继承耦合:构成粒度更大的模块,所以结合的程度应该紧密。

4、第7页,此课件共66页哦面向对象设计的准则面向对象设计的准则v5 5、强内聚、强内聚n(1)服务内聚:一个服务只完成一个功能n(2)类内聚:一个类应该只有一个用途n(3)一般特殊内聚:紧密的继承耦合与高度的一般特殊内聚是一致的。v6 6、可重用、可重用n(1)尽量使用已有的类n(2)设计新的类时要考虑将来的重用问题第8页,此课件共66页哦启发式规则启发式规则v1 1、设计结果应该清晰易懂、设计结果应该清晰易懂n 用词一致:名字与代表的事物一致n 使用已有的类协议n 减少消息模式的数目n 避免模糊的定义:类的名称与用途一致v2 2、一般、一般特殊结构的深度应该适中特殊结构的深度应该适中第9页,此

5、课件共66页哦启发式规则启发式规则v3 3、设计简单的类、设计简单的类n应该尽量设计小而简单的类,这样便于开发和管理。为了保持简单,应注意以下几点:n 避免包含过多的属性n 有明确的类定义n 简化对象之间的合作关系n 不要提供太多服务v4 4、使用简单的协议(较少的参数)使用简单的协议(较少的参数)n一般来说,消息中参数不要超过3个。第10页,此课件共66页哦启发式规则启发式规则v5 5、使用简单的服务、使用简单的服务n面向对象设计出来的类中的服务通常都很小,一般只有3至5行源程序语句,可以用仅含一个动词和一个宾语的简单句子描述它的功能v6 6、把设计变动减少到最小把设计变动减少到最小n通常,

6、设计的质量越高,设计结果保持不变的时间也越长。即使出现必须修改设计的情况,也应该使修改的范围尽可能小。第11页,此课件共66页哦软件重用软件重用v概述概述n1、重用 n2、软件成分的重用级别 n3、典型的可重用软件成分v类构件类构件n1、可重用软构件应具备的特点 n2、类构件的重用方式v软件重用的效益软件重用的效益n1、质量 2、成本 3、生产率 v软件重用技术软件重用技术第12页,此课件共66页哦软件重用软件重用v1 1、重用、重用nA、知识重用nB、方法和标准重用nC、软件成分重用v2 2、软件成分重用的级别、软件成分重用的级别nA、代码重用:代码剪贴、源代码包含、继承。nB、设计结果重用

7、nC、分析结果重用概述概述第13页,此课件共66页哦软件重用软件重用v3 3、典型的可重用软件成分、典型的可重用软件成分n项目计划n成本估计n体系结构n需求和规格说明n设计概述概述n源代码n文档n用户界面n数据n测试用例等第14页,此课件共66页哦软件重用软件重用v1 1、可重用类构件的特点、可重用类构件的特点n模块独立性好n具有高度的可塑性n接口清晰简单可靠v2 2、类构件重用方式、类构件重用方式n实例重用n继承重用n多态重用类构件类构件第15页,此课件共66页哦软件重用软件重用v1 1、质量、质量n被重用的代码错误率0.9/千行n新开发的代码错误率4.1/千行v2 2、成本(为实现软件重用

8、需付出的代价)、成本(为实现软件重用需付出的代价)nA、为软构件投资nB、为更高级的软件质量投资nC、建立和维护软类库的费用软件重用的效益软件重用的效益第16页,此课件共66页哦软件重用软件重用v3 3、生产率、生产率n重用率与生产率的关系n一般情况下,重用率的提高可以直接提高生产率,30%50%的重用可以导致25%40%的生产率的提高。软件重用的效益软件重用的效益第17页,此课件共66页哦软件重用软件重用v3 3、生产率、生产率n重用率与生产率的关系n一般情况下,重用率的提高可以直接提高生产率,30%50%的重用可以导致25%40%的生产率的提高。软件重用的效益软件重用的效益第18页,此课件

9、共66页哦软件重用软件重用v1 1、软件组合技术、软件组合技术v2 2、软件生成技术、软件生成技术v3 3、面向对象软件重用、面向对象软件重用软件重用技术软件重用技术第19页,此课件共66页哦系统分解系统分解v系统中主要的组成部分称为系统中主要的组成部分称为子系统子系统n既不是一个对象也不是一个功能,n而是类、关联、操作、事件和约束的集合。v大多数系统的面向对象模型是由以下四个部分组大多数系统的面向对象模型是由以下四个部分组成:成:n1、问题域子系统n2、人机交互子系统n3、任务管理子系统n4、数据库子系统第20页,此课件共66页哦系统分解系统分解典型的面向对象设计模型第21页,此课件共66页

10、哦系统分解系统分解v1 1、子系统之间的两种交互关系、子系统之间的两种交互关系n客户供应商关系n平等伙伴关系v2 2、系统组织的两种方案、系统组织的两种方案n层次组织n块状组织v3 3、设计系统的拓扑结构、设计系统的拓扑结构n管道形n树形n星形第22页,此课件共66页哦系统分解系统分解典型应用系统的组织结构第23页,此课件共66页哦设计问题域子系统设计问题域子系统v1 1、调整需求、调整需求v2 2、重用已有的类、重用已有的类n(1)重用那些使无用的属性和服务降到最低程度的类;n(2)在被重用的类和问题域类之间添加泛化关系;n(3)标出问题域类中从已有类中继承来的属性和方法,现在已经不用在问题

11、域中定义它们了;n(4)修改与问题域类相关的关联。第24页,此课件共66页哦设计问题域子系统设计问题域子系统v3 3、把问题域组织到一起、把问题域组织到一起v4 4、添加一般化类建立协议、添加一般化类建立协议v5 5、调整继承层次、调整继承层次n(1)使用多继承机制n(2)使用单继承机制n(3)不具备继承机制第25页,此课件共66页哦设计问题域子系统设计问题域子系统窄菱形模式第26页,此课件共66页哦设计问题域子系统设计问题域子系统阔菱形模式第27页,此课件共66页哦设计问题域子系统设计问题域子系统 6 6、ATMATM系统例系统例n在面向对象设计过程中,ATM系统的问题域子系统的结构如下图所

12、示。把把ATM系统的问题域子系统的问题域子系统,进一步分解成更系统,进一步分解成更小的小的ATM站子系统,中站子系统,中央计算机子系统和分行央计算机子系统和分行计算机子系统,构成星计算机子系统,构成星型拓扑结构。以中央计型拓扑结构。以中央计算机为中心向外连接算机为中心向外连接(用用专用电话线专用电话线),与所有,与所有ATM站和分行计算机通站和分行计算机通信。区分每个信。区分每个ATM站和站和每台分行计算机连向中每台分行计算机连向中央计算机的电话线,分央计算机的电话线,分别用别用ATM站号和分行代站号和分行代码来实现。码来实现。第28页,此课件共66页哦设计人机交互子系统设计人机交互子系统v人

13、机交互子系统也称人机交互部分人机交互子系统也称人机交互部分(HIC(HIC,Human Human Interaction Component)Interaction Component)。v人机交互部分的设计结果,将对用户使用系统带人机交互部分的设计结果,将对用户使用系统带来很大影响。来很大影响。n人机界面设计得好,则会使系统产生魅力,吸引用户经常使用系统,并觉得与系统的交互是友好的、兴奋的,还能提高工作效率;反之不然。第29页,此课件共66页哦设计人机交互子系统设计人机交互子系统v为了得到良好的人机界面,在为了得到良好的人机界面,在分析阶段分析阶段要对用户进行分析,在要对用户进行分析,在设

14、设计阶段计阶段要延续该分析,包括对用户、交互时间、交互技术等进要延续该分析,包括对用户、交互时间、交互技术等进行分析。行分析。v在人机交互子系统设计中,在初步分析用户界面需求的基础在人机交互子系统设计中,在初步分析用户界面需求的基础上,对人机交互的细节进行上,对人机交互的细节进行详细设计详细设计,包括对窗口、对话框,包括对窗口、对话框和报表的形式,设计命令层次组织等内容的设计。和报表的形式,设计命令层次组织等内容的设计。v设计人机交互子系统的设计人机交互子系统的关键关键,是使用,是使用原型技术原型技术。建立人机界面。建立人机界面的原型,征求用户的意见,获取用户的评价,也是设计人的原型,征求用户

15、的意见,获取用户的评价,也是设计人机界面的一种有效途径。机界面的一种有效途径。第30页,此课件共66页哦设计人机交互子系统设计人机交互子系统v1 1、设计人机交互界面的准则、设计人机交互界面的准则n(1)一致性n(2)减少步骤n(3)及时提供反馈信息n(4)提供撤消命令n(5)无须记忆n(6)易学n(7)富有吸引力第31页,此课件共66页哦设计人机交互子系统设计人机交互子系统v2 2、设计人机交互子系统的策略、设计人机交互子系统的策略n(1)分类用户n(2)描述用户n(3)设计命令层次n(4)设计人机交互类第32页,此课件共66页哦设计人机交互子系统设计人机交互子系统v设计命令层是界面设计的重

16、要部分,一般包含下列工作:设计命令层是界面设计的重要部分,一般包含下列工作:v(1)(1)研究现有的人机交互的准则。研究现有的人机交互的准则。n命令层设计有许多方式,但目前最受用户喜爱的是Windows界面,Windows已经成了微机上图形用户界面事实上的工业标准。所有Windows应用程序的界面是一致的,窗口布局、菜单、术语等使用,以及界面的风格、习惯等都是一致的,Windows的命令层设计采用了下拉式菜单和弹出式菜单,而且各菜单的组织方式也类似。n设计图形用户界面时,应该保持与普通Windows应用程序界面一致,并遵守广大用户习惯的约定,这样才会被用户接受和喜爱。第33页,此课件共66页哦

17、设计人机交互子系统设计人机交互子系统v(2)(2)设计初始命令层。设计初始命令层。n所谓命令层,是将系统中的可用服务用过程抽象机制组织起来的一种体现。设计时首先从服务的基本过程抽象开始,确定系统中最上层(如大的操作,相近小命令的总称,多层命令的最上层等),然后再修改它们,以符合目标系统的特定需要。第34页,此课件共66页哦设计人机交互子系统设计人机交互子系统v(3)(3)优化命令层。优化命令层。n为使命令层完善、合理以及使用方便,应该考虑下列一些因素,作进一步修改。n排列:n检查每个服务的名字,并将服务排在命令层中的合适位置。可按系统功能(服务)顺序排列,也可以按用户习惯的工作顺序排序。n整体

18、-部分组合:n通过服务本身发现整体-部分关系,来帮助在命令层中对服务组织和分组。第35页,此课件共66页哦设计人机交互子系统设计人机交互子系统v(3)(3)优化命令层。优化命令层。n为使命令层完善、合理以及使用方便,应该考虑下列一些因素,作进一步修改。n宽度和深度:n通常,命令层中同一层显示命令的个数(宽度),设计为(72)个比较合适;命令层中层数(深度)设计为3层比较合适。这样符合人的短期记忆能力。n减少操作步骤:n做同样的工作,按键或拖动鼠标越少越好。并为高级用户提供简捷的操作方法。第36页,此课件共66页哦设计任务管理子系统设计任务管理子系统v设计工作的一项重要内容就是,确定哪些是必须设

19、计工作的一项重要内容就是,确定哪些是必须同时动作的对象,哪些是相互排斥的对象。然后同时动作的对象,哪些是相互排斥的对象。然后进一步设计任务管理子系统。进一步设计任务管理子系统。v1 1、分析并发性、分析并发性v2 2、设计任务管理子系统、设计任务管理子系统第37页,此课件共66页哦设计任务管理子系统设计任务管理子系统v1 1、分析并发性、分析并发性n不仅在系统软件中有并发行为,而且在应用软件中也有并发行为,因此,实现中存在并发行为。n在程序的执行时间上与其他程序有交叠的现象,这种时间交叠现象称为“并发性”。n因此,任务管理子系统在设计时,应找出并分析系统中任务的并发性。第38页,此课件共66页

20、哦设计任务管理子系统设计任务管理子系统v1 1、分析并发性、分析并发性n分析并发性的主要依据系统的动态模型n如果对象间不存在交互,或者说它们能同时接收事件,那么这两个对象是并发的。n通过检查各个对象的状态图及它们之间交换的事件,把若干个非并发的对象归并到一起。n独立的任务把必须并发进行的行为分离开来。n这种并发行为既可以在不同的处理器上实现,也可以在单个处理器上利用多任务操作系统仿真实现。n一般来说,划分任务,是为了简化系统中必须的并发行为的设计和编码。第39页,此课件共66页哦设计任务管理子系统设计任务管理子系统v2 2、设计任务管理子系统、设计任务管理子系统n(1)确定事件驱动任务n(2)

21、确定时钟驱动任务n(3)确定优先任务n(4)确定关键任务n(5)确定协调任务n(6)审查每个任务第40页,此课件共66页哦设计任务管理子系统设计任务管理子系统v2 2、设计任务管理子系统、设计任务管理子系统n(1)确定事件驱动任务n事件驱动任务:由某个事件触发而引起的任务。n事件通常表明一个设备传输过来的一个信息,事件是由设备引起的。n任务是对事件的处理。一个任务可以设计成由一个事件来触发(驱动),该事件常常是对一些数据的到达发信号,而这些数据可能来自输入数据行,或者另一个任务写入的数据缓冲区。这类任务可能主要完成通信工作,例如,与设备、屏幕窗口、其他任务、子系统、另一个处理器或其他系统通信。

22、第41页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(1 1)确定)确定事件驱动事件驱动任务任务n事件驱动任务的工作过程为:n 任务处于睡眠状态(不消耗处理器时间),等待来自数据行或其他数据源的中断;n 接收到中断就唤醒了该任务;n 阅读数据并把数据放入内存缓冲区或其他目的地;n 向需要知道此事件的对象发出通知,然后该任务又回到睡眠状态。第42页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(2 2)确定)确定时钟驱动时钟驱动任务任务n时钟驱动任务:按特定的时间间隔被触发后执行某些处理的任务。例如,某些设备需要周期性地获得数据;某些人机接口、子系统、任务、处理器或其他系统

23、也可能需要周期性地通信。n时钟驱动型任务的工作过程为:n 任务设置了唤醒时间后进入睡眠状态;n 等待来自系统的中断;n 接收到中断,任务被唤醒;n 进行处理,通知有关的对象;n 该任务又回到睡眠状态。第43页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(3 3)确定)确定优先优先任务任务n优先级任务:根据事件的优先级高低来做处理的任务。它可以满足高优先级或低优先级的处理需求。n 1)高优先级:有些服务可能是高优先级的,需要把这类服务划分成独立的任务,使该类服务在一个严格限定的时间内完成。n 2)低优先级:有些服务是低优先级的,属于低优先级处理(通常指那些后台处理)。设计时可能用附加

24、的任务把这种服务分离出来。n任务的划分是根据时间决定优先级,根据优先级的高低划分出轻重缓急的任务。第44页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(4 4)确定)确定关键关键任务任务n设计时应该分离出那些对于系统的成败特别关键的任务,该类任务通常都有严格的可靠性、安全性要求。n设计时可用附加的任务来分离出关键的任务,应该进行深入细致的设计、编码和测试,以满足高可靠性、安全性处理的要求。也就是说,根据需求决定任务的主次,保证关键任务。第45页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(5 5)确定)确定协调协调任务任务n当系统中有三个以上任务时,就应该考虑增加一个任

25、务,用来协调任务之间的关系,该任务称为协调任务n从一个任务到另一个任务的转换时间叫现场转换时间。n协调任务用来控制现场转换时间时,将会给系统设计带来困难,但是引入协调任务可为封装不同任务之间的协调控制带来好处。该任务的行为可用状态转换矩阵来描述。n这样的任务应该只做协调工作,不必分配它其他的工作。第46页,此课件共66页哦设计任务管理子系统设计任务管理子系统v(6 6)审查每个任务)审查每个任务n对任务的性质进行审查,去掉人为的、不必要的任务,要使任务数保持到最少。n设计多任务系统的主要问题是,设计者常常为了自己设计和编程的方便而增加任务。这样既增加了总体设计的技术复杂度,又降低了系统的可理解

26、性,从而也加大了系统维护的难度。第47页,此课件共66页哦设计数据管理子系统设计数据管理子系统v1 1、选择数据存储管理模式、选择数据存储管理模式n(1)文件管理系统n(2)关系数据库管理系统n(3)面向对象数据库管理系统v2 2、设计数据管理子系统、设计数据管理子系统n(1)设计数据格式n(2)设计相应的服务第48页,此课件共66页哦设计数据管理子系统设计数据管理子系统v3 3、例子、例子v在这个例子中,需要存储的对象在这个例子中,需要存储的对象主要是帐户类的对象。主要是帐户类的对象。v为了支持数据管理子系统的为了支持数据管理子系统的实现,帐户类对象必须知道实现,帐户类对象必须知道自己是怎样

27、存储的:自己是怎样存储的:n(1)每个对象自己保存自己n(2)由数据管理子系统负责存储对象ATM系统的问题域子系统的结构第49页,此课件共66页哦设计类中的服务设计类中的服务v1 1、确定类中应有的服务、确定类中应有的服务v2 2、设计实现服务的方法、设计实现服务的方法n(1)设计实现服务的算法n(2)选择数据结构n(3)定义内部类和内部操作第50页,此课件共66页哦设计类中的服务设计类中的服务v(1 1)设计实现服务的算法)设计实现服务的算法n算法设计按如下过程进行:nA 选择极小化开销的算法。nB 选择适用于该算法的数据结构。nC 定义必需的新的内部类和操作。nD 将操作响应赋给合适的类。

28、n选择算法应考虑下列因素nA 计算复杂度 nB 易实现,易理解,易修改 nC 稳定性好第51页,此课件共66页哦设计类中的服务设计类中的服务v(2 2)选择数据结构)选择数据结构n选择算法时涉及到选择算法使用的数据结构,许多实现的数据结构都是包容类的实例,大多数面向对象语言提供了基本数据结构供用户自选组合定义。v(3 3)定义内部类和操作)定义内部类和操作n在展开算法时,可能引入一些对象类,用来存放中间结果,在分解高层操作时也可引入新的低层操作。必须定义这些低层操作,因为大多数这类操作是外部不可见的。第52页,此课件共66页哦设计关联设计关联v关联是在对象模型中联结不同对象的纽带,它指关联是在

29、对象模型中联结不同对象的纽带,它指定了对象相互间的定了对象相互间的访问路径访问路径。v在面向对象在面向对象分析分析过程中,仅是初步确定对象之间过程中,仅是初步确定对象之间的关联和阶数。的关联和阶数。v在面向对象在面向对象设计设计过程中,必须确定实现关联的具过程中,必须确定实现关联的具体策略。根据应用系统中的使用方式来确定实现体策略。根据应用系统中的使用方式来确定实现关联的策略。可以选定一个统一实现所有关联的关联的策略。可以选定一个统一实现所有关联的全局性的策略,或者对不同的关联选择不同的实全局性的策略,或者对不同的关联选择不同的实现策略。现策略。第53页,此课件共66页哦设计关联设计关联v先对

30、使用关联的方式进行分析研究,总结它们的先对使用关联的方式进行分析研究,总结它们的使用方式,然后根据不同的使用方式设计出具体使用方式,然后根据不同的使用方式设计出具体的实现关联的途径。的实现关联的途径。第54页,此课件共66页哦设计关联设计关联v1 1、关联的遍历关联的遍历n通常应用系统中使用关联的方式有单向遍历和双向遍历两种。根据应用系统的复杂程度不同,使用关联的方式也不同。有些关联只需要单向遍历,可有些关联可能需要双向遍历。单向关联的实现自然比较简单,而双向关联实现起来相对复杂一些。第55页,此课件共66页哦设计关联设计关联v2 2、单向关联的实现、单向关联的实现n单向遍历的关联可用指针来实

31、现,指针是一个含有对象引用的属性。第56页,此课件共66页哦设计关联设计关联v2 2、单向关联的实现、单向关联的实现n如果关联的阶是一元的,则可用一个简单指针来实现用指针实现单向关联 (a)关联 (b)实现第57页,此课件共66页哦设计关联设计关联v2 2、单向关联的实现、单向关联的实现n如果关联的阶是多元的,则需要用一个指针集合来实现用指针实现单向关联 (a)关联 (b)实现第58页,此课件共66页哦设计关联设计关联v3 3、双向关联的实现、双向关联的实现n许多关联都需要双向遍历,且两个方向遍历的频度可能会不相同。n实现双向关联的方法有下述三种。n(1)只用属性实现一个方向的关联,当需要反向

32、遍历时就执行一次正向查找。当两个方向遍历的频度相差较大,且需要尽量减少存储开销和修改开销时,则这是一种实现双向关联的很有效的方法。第59页,此课件共66页哦设计关联设计关联v3 3、双向关联的实现、双向关联的实现n(2)双向的关联都用属性来实现。具体实现方法已在上一小节介绍过,如图11.5所示。该方法能实现快速访问,但是,如果一个属性修改了,为了保持该关联链的一致性,则引起相关的属性的修改。如果修改次数远远少于访问次数时,该实现方法是一种很有效的方法。第60页,此课件共66页哦设计关联设计关联v3 3、双向关联的实现、双向关联的实现n(3)用独立的关联对象来实现。关联对象不属于相互关联的任何一

33、个类,关联对象是一个相关对象的集合,也就是说,它是独立的关联类的实例(右图)用对象实现关联第61页,此课件共66页哦设计关联设计关联v4 4、关联对象的实现、关联对象的实现v如果某个关联包含链属性,则根据关联的阶数不同,实现它的方法也如果某个关联包含链属性,则根据关联的阶数不同,实现它的方法也不同。不同。n如果是一对一关联,链属性可作为其中一个对象的属性并存储在该对象中;n如果是一对多关联,链属性可作为“多”端对象的一个属性;n如果是多对多关联,则链属性与多个关联对象有关,一般来说,使用一个独立的类来实现链属性,该类的每个实例表示一条链及该链的属性(参见上页图)第62页,此课件共66页哦设计优化设计优化v1 1、确定优先级、确定优先级v2 2、提高效率的技术、提高效率的技术n(1)增加冗余关联提高访问效率n(2)调整查询次序n(3)保留派生属性v3 3、调整继承关系、调整继承关系n(1)抽象与具体n(2)为提高继承程度而修改类定义n(3)利用委托实现行为共享第63页,此课件共66页哦用表实现栈的两种方法用表实现栈的两种方法(a)用继承实现(b)用委托实现 第64页,此课件共66页哦作业作业vP288,P288,习题十一:习题十一:4 4第65页,此课件共66页哦第66页,此课件共66页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁