面向对象程序设计Charpter1.ppt_第1页
面向对象程序设计Charpter1.ppt_第2页
面向对象程序设计Charpter1.ppt_第3页
面向对象程序设计Charpter1.ppt_第4页
面向对象程序设计Charpter1.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计及C+,第一章 面向对象程序设计概述,计算机系,关于本课程的学习:,教材和参考书 课时计划表与学时 教学要求 考查形式,参考书:,秦军等编著,C+语言学习与实验指导, 河海大学出版社,2006年2月 郑 莉编著,C+语言程序设计, 清华大学出版社,2002年7月 钱能主编, C+程序设计教程(第2版), 清华大学出版社,2005年9月 徐春编著,面向对象程序设计习题与真题解析(本科),中国水利水电出版社,2004年1月第一版。,本章主要内容,计算机程序设计语言的发展 面向对象的方法,程序设计方法的发展历程 面向过程的结构化程序设计方法,设计思路: 程序结构:,采用模块分解与功能抽象,自顶向下、分而治之。,按功能划分为若干个基本模块,形成一个树状结构。 各模块间的关系尽可能简单,功能上相对独立;每一模块内部均由顺序、选择、循环三种基本结构组成。 其模块化实现的具体方法是使用子程序。,优点:,程序设计方法的发展历程 面向过程的结构化程序设计方法,有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。,可重用性差、数据安全性差 难以开发图形界面的应用,缺点:,把数据和处理数据的过程分离为相互独立的实体,当数据结构改变时,所有相关的处理过程都要进行相应的修改。 每一种相对于老问题的新方法都要带来额外的开销。,图形用户界面的应用,很难用过程来描述和实现,开发和维护都很困难。,典型的结构化程序设计语言 -C语言,优点: 缺点: 应用场合:,高效、灵活并能够对底层操作。,不具有支持代码重用的类的机制(致命缺点),适用于中小型的程序设计的编程。,代码长度在1万行之下,将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的整体对象。 对同类型对象抽象出其共性,形成类。 类通过一个简单的外部接口,与外界发生关系。 对象与对象之间通过消息进行通讯。,程序设计方法的发展历程 面向对象的程序设计方法,思想:,程序模块间的关系更简单,独立性、数据的安全性有保障。 通过继承与多态性,可大大提高程序的可重用性,使得软件的开发和维护都更为方便。,优点:,面向对象的基本概念 对象(Object) _1,是现实世界中一个实际存在的事物。 有形(一台洗衣机)、无形的(一项计划)。 是构成世界的一个独立单位,具有:,一般意义上的对象:,静态特征:对象的状态; 动态特征:对象所表现的行为或具有的功能,如:人的姓名、性别等状态,如:人的吃饭、跑步等行为,面向对象的基本概念 对象(Object)_2,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。 对象由一组属性和一组行为构成。,面向对象方法中的对象:,属性:用来描述对象静态特征的数据项。 行为:用来描述对象动态特征的操作序列。,面向对象的基本概念 类(Class)_1,忽略事物非本质特征,而从本质特征中找出事物的共性,把具有共性的事物划分为一类,得出一个抽象的概念。 例如:石头、树木、汽车、房屋等都是人们在长期生产和生活实践中抽象出的概念。,分类人类通常的思维方法,依据的原则抽象,面向对象的基本概念 类(Class)_2,具有相同属性和服务的一组对象的集合 为属于该类的全部对象提供了抽象的描述,包括属性和行为两个主要部分。 类与对象的关系:,面向对象方法中的“类”:,犹如模具与铸件之间的关系(举例P5,银行帐户); 一个属于某类的对象称为该类的一个实例。,面向对象的基本概念 封装(Encapsulation),定义: 描述: 举例:,把对象的属性和服务结合成一个独立的系统单位。,隐蔽对象内部细节,对外形成一道屏障,只保留有限的对外接口使之与外部发生联系。,录音机。,面向对象的基本概念 封装(Encapsulation),对象是面向对象程序设计的基石,其特性: (1)封装性: (2)模块独立性: (3)动态链接性: (4)易维护性,私有元素、操作细节隐藏,提供对外接口,消息激活,对象为独立模块,变化不受外界干扰,不影响其它模块,对象通过消息传递机制将对象动态地联系在一起,对象功能被隐蔽,修改完善工作局限于内部,易维护,面向对象的基本概念 继承(Inheritance),定义: 意义: 举例:(一般类和特殊类)。,对软件复用有着重要意义,能提高软件开发效率。,特殊类的对象拥有其一般类的全部非私有属性 与服务,称作特殊类对一般类的继承。,1、P11哺乳动物、狗和柯利狗的关系 2、轮船和客轮的关系,面向对象的基本概念 多态性(Polymorphism),描述: 目的: 实现: 举例P14 :,1、同一名称,不同的功能实现方式; 2、不同对象收到相同消息时产生不同的行为。,达到行为标识统一,减少程序中标识符的个数。,编译时多态-重载函数、运行时多态-虚函数,1、 “挪开”的解释 2、对“移动”消息,“窗口”和“棋子”的不同行为,典型的几种OOP语言,20世纪60年代开发,鼻祖,主要用于仿真建模,Simula67: Smalltalk: Eiffel: C+: Java:,理论上最有商业潜力的最好的OOP语言,20世纪70年代开发,最有影响的OOP语言之一,对C进行面向对象扩充,支持两种范型,SUN公司20世纪90年代开发,广泛用于网络编程,典型的OOP语言 C,1980年、贝尔实验室Bjarne StroutStrup。,产生的时期: 主要的特性: 应用场合:,适应大型复杂程序开发与维护,支持面向过程和面向对象两种程序设计方法,C+与C语言之比较,编程方法方面: C+-面向对象;C语言-面向过程。 程序结构方面: C+-“对象+消息”模式;C- “数据+算法”模式。,本质差别: 兼容性: 改良:,改进了C中

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论