张其文c教程1--面向对象概述-(精品课件).ppt

张其文c教程1--面向对象概述-(精品课件).ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++面向对象程序设计 兰州理工大学计算机与通信学院 张其文 设计思路 自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。 程序结构 按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。 其模块化实现的具体方法是使用子程序。 优点 有效地将一个较复杂的程序设计任务分解成许多易于控制和处理的子任务,便于开发和维护。 缺点:可重用性差、数据安全性差、难以开发图形界面的应用 把数据和处理数据的过程分离。 当数据结构改变时,所有相关的处理过程都要进行相应的修改。 图形用户界面的应用,很难用过程来描述和实现,开发和维护都很困难。 不同于面向过程的程序设计中以具体的解题过程为研究和实现的主体,面向对象的程序设计是以需解决的问题中所涉及到的各种对象为主要矛盾。 更确切地,面向对象技术中的对象就是现实世界中某个具体的物理实体在计算机逻辑中的映射和体现。 图1 对象、实体与类 类是面向对象技术中一个非常重要的概念。简单地说,类是同种对象的集合与抽象。为了处理问题的方便,在面向对象的程序设计中定义了类的概念来表述同种对象的公共属性和特点。从这个意义上来说,类是一种抽象的数据类型,它是所有具有一定共性的对象的抽象,而属于类的某一个对象则被称为是类的一个实例,是类的一次实例化的结果。 “对象”是现实世界的实体或概念在计算机逻辑中的抽象表示。具体地,对象是具有唯一对象名和固定对外接口的一组属性和操作的集合。其中对象名是区别于其他对象的标志;对外接口是对象在约定好的运行框架和消息传递机制中与外界通信的通道;对象的静态属性表示了它所处的状态;而对象的操作则用来改变对象的状态以达到特定的功能。对象最主要的特点是以数据为中心,它是一个集成了数据和其上操作的独立、自恰的逻辑单位。 状态和行为是对象的主要属性。 对象的状态又称为对象的静态属性,主要指对象内部所包含的各种信息,也就是变量。每个对象个体都具有自己专有的内部变量,这些变量的值标明了对象所处的状态。当对象经过某种操作和行为而发生状态改变时,具体地就体现为它的属性变量的内容的改变。通过检查对象属性变量的内容,就可以了解这个对象当前所处于的状态。 图2 对象的属性和行为 从图2中可以看出,对象的方法一方面把对象的内部变量包裹、封装、保护起来,使得只有对象自己的方法才能操作这些内部变量;另一方面,对象的方法还是对象与外部环境和其他对象交互、通信的接口,对象的环境和其他对象可以通过这个接口来调用对象的方法,操纵对象的行为和改变对象的状态。 方法:作用在对象上的行为,对象的交互是通过对象的方法完成的。 消息:一个对象向另一个对象发出的请求被成为消息。对象有两类消息:共有消息和私有消息。消息有三个性质: 同一个对象可以接收多个不同的消息; 相同形式的消息可以传递给不同的对象; 对象对消息的响应不是必须的。 封装的原则在软件上的反映是:使对象以外的部分不能随意存取对象的内部数据(属性),从而有效的避免了外部错误对它的"交叉感染",使软件错误能够局部化,大大减少查错和排错的难度。   特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。例如,轮船、客轮;人、大人。一个类可以是多个一般类的特殊类,它从多个一般类中继承了属性与服务,这称为多继承。例如,客轮是轮船和客运工具的特殊类。通常我们称一般类为父类(superclass,超类),特殊类为子类(subclass)。 具有继承关系的类之间具有以下特性: 类间具有共享特征 类间具有差别或新增部分 类间具有层次结构 继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率的重要原因之一。 继承的分类 1、单继承:子类只从一个父类继承; 2、多继承:子类从一个以上父类继承。   对象的多态性是指在父类中定义的属性或服务被子类继承之后,可以具有不同的数据类型或表现出不同的行为。这使得同一个属性或服务在父类及其各个子类中具有不同的语义。例如:"几何图形"的"绘图"方法,"椭圆"和"多边形"都是"几何图"的子类,其"绘图"方法功能不同。 1、 编译时多态性 编译时确定下来的多态性:重载 2、 运行时多态性 动态运行时才可确定,主要通过继承结合动 态绑定获得:重定义 结构化程序设计(面向过程的语言) 设计思路:自顶向下、逐步求精 程序结构:由模块形成的树形结构 基本组成结构:顺序、选择、循环 面向对象的方法 设计思路:对客观事物的抽象 程序特点:对类(对象的存在形式)进行结构化程序设计 类提供对外接口 程序的编译执行 编辑程序

您可能关注的文档

文档评论(0)

夏天 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档