软件工程导论第9章-面向对象方法学引论.ppt

软件工程导论第9章-面向对象方法学引论.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

4)封装封装是面向对象的一个重要原则。封装是指在面向对象的程序中,把数据和实现操作的代码集中起来放在对象内部。一个对象好像是一个不透明的黑盒子,一切局部于该对象的私有信息,都被封装在该对象类的定义中,从外面是看不见的,更不能从外面直接访问或修改这些数据和代码,这就是对象的“封装性”。使用一个对象的时候,只需知道它向外界提供的接口形式,无须知道它的数据结构细节和实现操作的算法,对数据的存取只能通过该对象本身的方法。对象的封装将对象的使用者和开发者分开,使用者使用对象时只需要知道它向外界提供的接口形式,而不关心它内部的算法实现,使得对象的使用非常简单和方便。对象的封装性使得对象内部修改对外部的影响较小,并避免外部错误对该对象的影响,使得对象具有很高的安全性和可靠性。5)继承继承是面向对象描述类之间相似性的重要机制,是一种“求同存异”的高度抽象方式。人们总是希望能最大程度地利用种种相似性,以简化工作并重用以前的工作。继承是子类自动地共享基类中定义的数据和方法的机制。图9.3实现继承机制的原理7)重载有两种重载:函数重载是指在同一作用域内具有多个同名的函数,这些函数具有若干个不同的参数特征,当参数特征不同时,实现函数的算法不同(函数或许参数个数不同,或许参数类型不同,或许两者都不同)。运算符重载是指同一个运算符可以施加于不同类型的操作数上,当被操作数的类型不同时,实现运算符的语义是不相同的。7)重载下面给出函数重载的Java代码示例。publicclassAddClass{intsum;publicvoidadd(inti,intj){sum=i+j;}publicvoidadd(inti,intj,intk){sum=i+j+k;}}类AddClass定义了两个add方法,这两个方法虽然名字相同,但参数不同。当一个对象要使用类AddClass中的一个add方法时,只要根据传给该方法的参数的个数就可以确定具体要调用哪个方法。重载进一步提高了面向对象系统的灵活性和可读性。普通泛化--课堂练习1普通泛化--课堂练习2建立专科生(需要做作业和考试)、本科生(需要做作业和考试)、研究生(需要考试和做论文)和教师(需要出试卷)的泛化关系的类图,其中这些类都有姓名和年龄属性,均有注册日期操作。表示关系的符号将广泛应用于类图中(见第十章的面向对象的分析所建立的对象模型中)。UseCase方法最主要的优点,在于它是用户导向的,用户可以根据自己所对应的UseCase来不断细化自己的需求。此外,使用UseCase还可以方便地得到系统功能的测试用例。用例建模步骤如下:1)识别参与者:为获取用例首先要找出系统的不同的参与者。此处,储户是参与者。2)识别用例用例总是被参与者启动的,因此,可以让每个参与者叙述如何使用系统或希望系统提供什么功能来识别用例。参与者提出的每个功能都是系统的一个用例,所有参与者提出的所有用例就构成了系统的功能需求。(1)参与者需要系统提供哪些功能?(2)参与者特定的任务是什么?(3)参与者是否需要读取、创建、删除、修改或存储系统中的某类信息等?3)识别关系储户与用例之间是一种通信关系。4)建模开发人员根据用户提出的需求和用例之间的关系,建立用例模型,作为双方认识系统和开发系统的基础。ATM系统的用例建模如下。建模后的用例图取款用例中的基本流取款用例中的备选流取款用例中的备选流、非功能需求与业务规则用例图与数据流图分析是否可以在面向对象设计中使用数据流分析法,是一个有争议的话题。大部分讲面向对象设计方法的书,都反对在面向对象的方法中使用传统的结构化的方法。我个人认为,可以使用,但要小心使用。有下面的理由:数据流图,涉及了系统内部的分析。而用例分析方法不涉及系统的内部。只通过用例分析系统,总是觉得分析的不够彻底。有些系统,本身就是一数据处理为主要任务的,应用的逻辑集中在数据的处理上而不是交互的过程上,不适合使用用例分析法。数据流图流传很久,容易被人看懂,容易在交流中使用;而用例图使用的人少,许多人对它不熟悉。在面向对象的设计方法中,使用数据流图分析后,就要在数据流图的基础上抽象对象,数据流图上的每种元素:数据流,数据存储;外部实体和数据处理,都可能用来抽象对象。用例图与数据流图分析在面向对象的设计过程中使用数据流图,注意不要回到结构化设计的路子上。数据流图,最主要的功能是分析,是帮助程序员理解需求,千万不要在让数据流图有了设计的味道。交互型的系统:系

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档