- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1--面向对象概述
C++面向对象程序设计 兰州理工大学计算机与通信学院 年福忠 设计思路 自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。 程序结构 按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。 其模块化实现的具体方法是使用子程序。 优点 有效地将一个较复杂的程序设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 缺点:可重用性差、数据安全性差、难以开发图形界面的应用 把数据和处理数据的过程分离。 当数据结构改变时,所有相关的处理过程都要进行相应的修改。 图形用户界面的应用,很难用过程来描述和实现,开发和维护都很困难。 不同于面向过程的程序设计中以具体的解题过程为研究和实现的主体,面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾。 更确切地,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。 图1 对象、实体与类 类是面向对象技术中一个非常重要的概念。简单地说,类是同种对象的集合与抽象。为了处理问题的方便,在面向对象的程序设计中定义了类的概念来表述同种对象的公共属性和特点。从这个意义上来说,类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。 “对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。具体地,对象是具有唯一对象名和固定对外接口的一组属性和操作的集合。其中对象名是区别于其他对象的标志;对外接口是对象在约定好的运行框架和消息传递机制中与外界通信的通道;对象的静态属性表示了它所处的状态;而对象的操作则用来改变对象的状态以达到特定的功能。对象最主要的特点是以数据为中心,它是一个集成了数据和其上操作的独立、自恰的逻辑单位。 状态和行为是对象的主要属性。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。当对象经过某种操作和行为而发生状态改变时,具体地就体现为它的属性变量的内容的改变。通过检查对象属性变量的内容,就可以了解这个对象当前所处于的状态。 图2 对象的属性和行为 从图2中可以看出,对象的方法一方面把对象的内部变量包裹、封装、保护起来,使得只有对象自己的方法才能操作这些内部变量;另一方面,对象的方法还是对象与外部环境和其他对象交互、通信的接口,对象的环境和其他对象可以通过这个接口来调用对象的方法,操纵对象的行为和改变对象的状态。 方法:作用在对象上的行为,对象的交互是通过对象的方法完成的。 消息:一个对象向另一个对象发出的请求被成为消息。对象有两类消息:共有消息和私有消息。消息有三个性质: 同一个对象可以接收多个不同的消息; 相同形式的消息可以传递给不同的对象; 对象对消息的响应不是必须的。 封装的原则在软件上的反映是:使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的交叉感染,使软件错误能够局部化,大大减少查错和排错的难度。 特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 具有继承关系的类之间具有以下特性: 类间具有共享特征 类间具有差别或新增部分 类间具有层次结构 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 继承的分类 1、单继承:子类只从一个父类继承; 2、多继承:子类从一个以上父类继承。 对象的多态性是指在父类中定义的属性或服务被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在父类及其各个子类中具有不同的语义。例如:几何图形的绘图方法,椭圆和多边形都是几何图的子类,其绘图方法功能不同。 1、 编译时多态性 编译时确定下来的多态性:重载 2、 运行时多态性 动态运行时才可确定,主要通过继承结合动 态绑定获得:重定义 程序的编译执行 编辑程序 输入源程序文件名 程序的编译执行 编辑程序 在编辑窗口 输入源程序 程序的编译执行 编译程序 选择 编译命令 程序的编译执行 用热键 选择编译命令 编译程序 程序的编译执行 执行程序 选择 执行命令 程序的编译执行 热键 选择执行命令 程序的编译执行 执行程
您可能关注的文档
- (已完成)《简易方程》单元测试卷.doc
- (人教版)小学六年级数.doc
- (六)宾语从句(黑).ppt
- (三)事物形象鉴赏.ppt
- (定稿)虹口区2010学年度第一学期初三数学期中调研卷.doc
- (蓝色--教育模板)Nordri原创PPT模板系列57_2.ppt
- (西师大版)小学五年级语文上册第六单元综合达标检测试卷.doc
- +540水平胶带暗歪井4#水仓的技巧办法.doc
- (西师大版)小学五年级语文上册第四单元综合达标检测试卷.doc
- (未完成)2011——2012学年度五年级(下)数学期末试卷(人教).doc
- 《公证与律师实务》课件 第十二章 律师法律援助.pptx
- Python医学数据分析(微课版) 课件 第6章 使用Matplotlib进行数据可视化分析.pptx
- 《土木工程概论》课件 第9章 水利水电工程.pptx
- Python医学数据分析(微课版) 课件 第4章 使用Numpy进行矩阵运算.pptx
- 高碳资源的低碳化利用技术 课件 第6和7章 天然气的加工利用.pptx
- 2019最新版压力容器操作员理论考题300题(含参考答案).docx
- 2024-2025学年最新社工考试题及答案2025.docx
- 2021船员四小证考试真题模拟及答案(5).docx
- 2021军考本科毕业士兵提干基本常识试题及答案.docx
- 2022最新《公共基础知识》试题库及答案.docx
原创力文档


文档评论(0)