- 1、本文档共72页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二篇 面向对象程序设计 面向对象程序设计概述 类与对象 继承与派生 多态性 1. 面向对象技术概述 1.1 程序设计方法 结构化程序设计(面向过程的程序设计) 特点:以功能为基础对软件系统进行分解 面向对象程序设计 特点:以数据为基础对软件系统进行分解 结构化程序设计 设计思路 自顶向下、逐步细化,模块化设计,结构化编程。自顶向下、分而治之。 程序结构 按功能划分为若干个模块,形成树状结构;模块间关系简单,功能相对独立;模块内部由顺序、选择和循环三种基本结构组成。 模块化实现的具体方法是子程序(函数) 优点 将一个较复杂的软件设计任务分解成若干易于控制和处理的子任务,便于开发和维护 结构化程序设计 缺点 可重用性差 数据安全性差 难以开发大型软件 图形界面的应用软件 图形用户界面的应用程序,很难用过程来描述和实现,开发和维护也都很困难 面向对象程序设计 特点 以数据为基础对软件进行分解(不是功能) 把数据和对数据的操作看成一个整体而不是把它们作为两个独立的实体 从同类对象(数据)中抽象出共性,形成类 类中的数据只能由本类提供的方法(函数)进行处理,不能被外部程序直接存取 对象之间通过消息进行通讯 具有封装性、继承性、多态性 面向对象程序设计 优点 程序模块间关系简单,模块独立性、数据安全性有良好的保障 通过继承与多态性,提高程序的可重用性,使得软件的开发和维护都更为方便 便于开发图形界面的大型软件 面向对象程序设计过程 面向对象的分析 面向对象的设计 面向对象的编程 面向对象的测试 面向对象的软件维护 1.2 基本概念 对象(object) 类(class) 抽象 封装 继承 多态 对象 一般意义上的对象 现实世界中实际存在的事物,构成世界的一个独立单位 如:一个人、汽车、一个班级等 对象的特征 静态特征:可以用数据来描述,称为对象的属性 如:学生的基本信息 动态特征:对象的行为或功能,称为对象的行为 如:学生选课、上课、考试 面向对象方法中的对象 系统中描述客观事物的一个实体, 构成系统的一个基本单位 对象的构成 属性:用来描述对象静态特征的数据项(各类数据) 行为:用来描述对象动态特征的操作序列(函数或子程序) 类 类 忽略事物的非本质特征,只注意与当前目标有关的本质特征,从而找出事物的共性。把具有共同属性的事物划分为一类,得出一个抽象的概念----类 分类所依据的原则—抽象 面向对象方法中的“类” 具有相同属性和行为的一组对象的集合 为属于该类的全部对象提供抽象的定义,包括属性和行为两部分 类与对象的关系 犹如模具与铸件之间的关系,一个对象称为类的一个实例 抽象 抽象 忽略事物的非本质特征,只注意与当前目标有关的本质特征,从而找出事物的共性。把具有共同属性的事物划分为一类,得到一抽象的概念。 如:进行学生成绩统计,只关心学生班级、学号、成绩等,忽略身高、体重等信息。 将客观事物抽象为对象,是面向对象方法的第一步 封装 把对象的属性和行为结合成一个独立的单元,对象的属性值只能由对象本身的行为来存取和修改 尽可能隐蔽对象的内部细节。对外形成一个边界,只保留有限的对外接口使对象与外部发生联系 封装机制把对象的使用者和设计分开,反映了客观事物的相对独立性 对象以外的部分不能随意存取对象的内部属性,确保数据的安全性 继承 客观事物有共性(一般类),也有个性(特殊类) 如:学生是一般类,中学生、大学生、研究生为特殊类 特殊类的对象拥有其一般类的全部属性与行为,称作特殊类对一般类的继承 如:大学生类拥有学生类的所有属性和行为,同时具有自己特殊的属性和行为 继承体现了一般与特殊的关系,反映类的层次关系 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一 多态 借鉴客观世界的多态性 在一般类中定义的属性或行为,被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。使得同一个属性或行为在一般类及其各个特殊类中具有不同的语义(功能) 类中同一函数名对应多个功能不同(但相似)的函数,使用类似的调用方式,调用这些功能不同的同名函数。 如:用同一绘图函数,绘制不同几何形状的图形 面向对象程序设计语言 常用的面向对象程序设计语言 C++,Java 本课程使用C++为教学语言 C++流输入与输出 在C++中,将数据从一个对象到另一个对象的流动抽象为“流”。从流中获取数据称为提取操作,向流中添加数据称为插入操作 标准输入输出流:cin, cout 在程序开头引用头文件:iostream.h 数据输出:cout 用法:cout数据1 数据2 … 数据n; 是输出操作符,将数据插入cout输出流中 例:int a=1, b=2,c;
文档评论(0)