- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01讲_面向对象的软件开发
面向对象的程序设计 第 * 页 4、消息的概念 对象之间进行通讯的一种构造叫做消息。 当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息。 接收到消息的对象经过解释,然后予以响应。这种通讯机制叫做消息传递。 发送消息的对象不需要知道接收消息的对象如何对请求予以响应。 面向对象的程序设计 第 * 页 通常一个消息由三部分组成: 1)接收消息的对象; 2)消息标识符(即消息名) 3)零个或多个变元 发送者对象 属性: 操作: 接收者对象 属性: 操作: message: [sender, return value(s)] 4、消息的概念 面向对象的程序设计 第 * 页 5、面向对象的基本特征-封装性 在面向对象的程序中,把数据和实现操作的代码集中起来放在对象内部。一个对象好像是一个不透明的黑盒子,表示对象状态的数据和实现操作的代码与局部数据都被封装在黑盒子里面,从外面是看不见的,更不能从外面直接访问和修改这些数据和代码。 使用对象的时候只需要知道他向外界提供的接口的形式,无须知道它的数据结构细节和实现操作的算法。 面向对象的程序设计 第 * 页 5、面向对象的基本特征-继承性 广义地说,继承是指能够直接获得已有的性质和特征,而不必重复定义它们。 在面向对象技术中,继承是子类自动地共享基类中定义的数据和方法的机制。 继承性是面向对象程序设计语言不同于其他语言的最主要的特点! 继承具有传递性,如果类C继承类B,类B继承类A,则类C继承类A 面向对象的程序设计 第 * 页 5、面向对象的基本特征-继承性 单继承 多重继承 设备 输出设备 I/O设备 输入设备 面向对象的程序设计 第 * 页 5、面向对象的基本特征-继承性 继承使得相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余信息,同时使得对软件的修改变得容易; 继承使得用户在开发新的应用系统时不必完全重新开始,可以继承原有的相似系统或从类库中选取需要的类,在派生出新的类以实现所需要的功能; 有了继承机制以后,还可以把已有的一般性的解加以具体化,来达到软件重用的目的。 面向对象的程序设计 第 * 页 5、面向对象的基本特征-多态性 面向对象的核心内容是对象,封装,继承,多态和消息机制,其中多态就是为了描述现实世界的多样性的,也是面向对象中最为重要的特性,可以这么说,不掌握多态,就没有真正地掌握面向对象技术。 简单的说,多态就是“相同的表达式,不同的操作”,也可以说成是“相同的命令,不同的操作” 面向对象的程序设计 第 * 页 5、面向对象的基本特征-多态性 员工 程序员 业务员 文管 每天上班时间一到,相当于发了一条这样的命令: “员工.开始上班” (同一条表达式) 比如在公司中有各种职责不同的员工(程序员,业务员,文管等),他们“上班”时,做不同的事情(也可以看作是一种业务逻辑),我们把他们各自的工作都抽象为“上班”,关系如下: 面向对象的程序设计 第 * 页 6、类与类之间的关系 继承 关联 Person House residence 0..* owner 0..* FinancialInstitution client creditor 0..* 0..* Mortgage principal rate term 关联类 {ordered} 0..* 1 Bank TrustCompany 面向对象的程序设计 第 * 页 6、类与类之间的关系 类图是由类及类与类之间的关系组成。我们定义了类以后,就必须识别、描述类与类间的关系。 通常,类与类之间的关系具有如下几种类型 1)关联 2)聚合和组合 3)泛化 面向对象的程序设计 面向对象的程序设计 第 * 页 1、与人类习惯的思维方法一致 传统方法学 以算法为核心 数据和过程相互独立 解空间与问题空间不一致,难于理解 面向对象方法学 以对象为核心 数据(静态属性)和过程(动态行为)封装在一起 解空间模拟客观世界 面向对象的程序设计 第 * 页 2、稳定性好 传统方法学 开发过程基于功能分析和功能分解 软件结构依赖于系统所要完成的功能,功能需求发生变化时引起软件结构的整体修改 面向对象方法学 基于构造问题领域的对象模型 功能需求变化时仅需要做局部性的修改 由于现实世界中的实体是相对稳定的,以对象为中心构造的软件系统也比较稳定 面向对象的程序设计 第 * 页 3、可重用性好 传统方法学 利用标准函数库实现软件重用 标准函数缺乏必要的“柔性”,并不是理想的可重用的软件成分 面向对象方法学 利用继承机制实现重用 对象固有的封装性和信息隐藏机制,具有较强的独立性,是比较理想的可重用的软件成分 面向对象的程序设计 第 * 页 4、可扩展性好 适合于在快速原型的软件开发方法中使用 对模块化技术更有效的支
您可能关注的文档
最近下载
- DLT441-2004《火力发电厂高温高压蒸汽管道蠕变监督规程》.pdf VIP
- Unit3LivingLegendsReadingandThinking教学设计高中英语人教版.docx VIP
- 五年级美术《为作文画插图》.ppt VIP
- 2026届新高考物理冲刺复习“配速法”解决带电粒子在复合场中的运动.pptx VIP
- 玉米期货分析报告.docx VIP
- 铁道工程技术论文-铁路路基边坡病害及处理措施.docx
- 2025年小学语文部编版五年级下册《选择题》专项练习题(共4组,附答案)(必考.pdf VIP
- 信息系统应用安全第5部分:代码安全检测10929-2020-.pdf
- 月饼安全生产培训.pptx
- 2024年新高考Ⅰ卷、Ⅱ卷、甲卷诗歌鉴赏试题讲评课件.pptx
文档评论(0)