面向对象程序设计42404.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 面向对象的方法学 学习目标 了解面向对象技术的发展历程。 了解面向对象软件开发的过程。 掌握面向对象程序设计的特点。 掌握面向对象程序设计的相关术语。 了解面向对象的编程风格。 了解目前常用的面向对象程序设计语言。 面向对象的发展 OO方法(Object-Oriented Method,面向对象方法)是一种把面向对象思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法 。 20世纪60年代中后期,Simula提出了对象的概念,并使用了类,也支持类继承。 20世纪70年代,Smalltalk语言诞生。 1980年推出商品化的Smalltalk 80,它在系统设计中强调对象概念的统一,引入对象、对象类、方法、实例等概念和术语,采用动态联编和单继承机制。 C++是美国贝尔实验室的Bjarne Stroustrup 博士在C语言的基础上,于1980年开发出的一种过程性与对象性相结合的程序设计语言。到1983年取名为C++。 1990年,美国国家标准学会(American National Standards Institute, ANSI)设立了委员会专门负责制定C++标准。 面向对象方法学概述 传统的软件开发方法采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,强调的是将一个较为复杂的任务分解成许多易于控制和处理的子任务,自顶向下顺序地完成软件开发各阶段的任务。 面向对象方法学就是尽量模拟人类习惯的思维方式,使软件开发的方法与过程尽可能接近人类认识世界、解决问题的方法与过程,从而使描述问题的问题空间(即问题域)与实现解法的解空间(即求解域)在结构上尽可能一致。 面向对象方法学概述 面向过程是将要处理的问题转变为数据和过程两个相互独立的实体来对待,强调的是过程。 例如,学生信息管理系统,该系统所处理的学生类型是研究生,允许用户进行输入学生信息、输出学生信息、插入(学生)、删除(学生)、查找(学生)等操作。 面向过程的程序可重用性差,维护代价高。 面向对象是将客观事物看做具有属性和行为的对象,通过对客观事物的抽象找出同一类对象的共同属性(静态属性)和行为(动态特征),形成类。 例如,挪开凳子,人类处理问题的过程是拿起凳子,移到一边。 面向过程的思想是将凳子和挪开作为两个实体来对待(描述凳子的数据和移动凳子的动作); 面向对象的思想是选择一个对象——凳子,然后向这个对象施加一个动作——挪开。 面向对象软件工程 面向对象软件工程是面向对象软件方法在软件工程领域的全面应用,包括面向对象分析(OOA)、面向对象设计(OOD)、面向对象实现等重要内容。 面向对象分析 分析是问题抽象(即做什么)。 结构化方法采用面向过程的方法对问题进行分解 面向对象分析是指在深入、全面理解问题本质需求的基础上,准确地抽象出系统必须做什么。 面向对象设计 分析是提取和整理用户需求,建立问题精确模型的过程,即做什么。设计是问题求解 (即怎么做),是对分析阶段所建立的模型进行精雕细凿,并逐渐扩充的一个过程。 面向对象软件工程 软件工程中关于软件设计的基本准则 模块化。面向对象设计中,对象就是模块,它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。 抽象。抽象是指将现实世界中的事物、状态或过程所存在的相似方面集中和概括起来,暂时忽略它们之间的差异。 信息隐藏。信息隐藏是程序把函数过程或对象看成“黑箱”的能力,使用它实现指定的操作,而不需要知道内部的运转。 高内聚与低耦合。内聚是衡量一个模块内各个元素彼此结合的紧密程度。耦合是指一个软件结构内不同模块之间关联的紧密程度。 可重用性。软件重用是提高软件开发质量的重要途径。 面向对象实现 实现是问题的解(即结果)。 面向对象程序设计的特点 面向对象程序设计方法的基本特征主要有抽象性、封装性、继承性和多态性。 抽象性 抽象就是从众多的事物中抽取出共同的、本质性的特征,舍弃其非本质的特征。例如,苹果、香蕉、酥梨、葡萄、桃子等,它们共同的特征就是水果。 抽象包含两个方面:一方面是过程抽象;另一方面是数据抽象。 过程抽象就是针对对象的行为特征,如鸟会飞、会跳等,这些方面可以抽象为方法,即过程,写成类时都是鸟的方法。 数据抽象就是针对对象的属性,如建立一个鸟这样的类,鸟会有以下特征:两个翅膀,两只脚,有羽毛等,写成类时都应是鸟的属性。 例如,用面向对象程序设计方法设计学生信息管理系统。 面向对象程序设计的特点 封装性 封装是面向对象方法的一个重要特点,即将对象的属性和行为封装在对象的内部,形成一个独立的单位,并尽可能隐蔽对象的内部细节。 例如,一台洗衣机 。 面向对象程序设计的特点 继承性 继

文档评论(0)

xinshengwencai + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档