书签 分享 收藏 举报 版权申诉 / 25

类型C语言程序设计课件1第1章 面向对象程序设计与C++.ppt

  • 文档编号:1100355
  • 上传时间:2023-11-17
  • 格式:PPT
  • 页数:25
  • 大小:884KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言程序设计课件1第1章 面向对象程序设计与C+ 语言程序设计 课件 面向 对象 程序设计 C+
    资源描述:

    1、第第1 1章章 面向对象程序设计与面向对象程序设计与C+C+学习目标1.理解面对对象程序设计的基本概念;2.理解面对对象程序设计的基本特征;3.了解面向对象程序设计的基本过程;4.了解C+语言程序设计的产生、特点、发展和应用;5.了解C+程序的基本结构和编译运行过程;6.理解源程序、头文件、可执行程序的概念;7.理解名字空间的概念,能够合理运用名字空间;8.能够编写一个简单的程序,输入数据,输出结果。面对这个问题,一千个人有一千种答案。有人说,C+是一种高级程序设计语言;有人说,C+是C语言的继承者;有人说,C+是一种面向对象的思维方式;有人说,C+很好很强大;有人说,不要迷恋C+,C+只是一

    2、个传说 C+到底是什么?从现在开始,让我们一起进入C+世界,寻找属于自己的答案吧!C+C+是什么是什么?1.1 面向对象的程序设计利用计算机解决现实世界中的问题,就是要将现实世界的 问题经过抽象转换为计算机程序或软件,而现实世界本身是 由对象所组成;软件开发的目的是为了解决现实世界中的问题,这些问题都 是由对象所组成;用对象来描述问题比用功能来描述问题更自然、更完整、更 准确;软件所要解决的各种现实问题本身就是由各种对象所组成,而且相对于功能的变化,对象更稳定;对象是软件开发所涉及的问题域中一些事物的抽象,是一些属性、操 作和方法的封装体,它具有唯一的标识;对象是用来描述客观事物的一个实体;对

    3、象具有静态特征和动态特征,静态特征是可以用数据来描述的特征 ,动态特征为对象所表现的行为或具有的功能。对象由一组属性和对这组属性进行操作的一组服务构成。属性是用来 描述对象静态特征的数据项。服务是用来描述对象动态特征(行为)的操作序列;复杂的对象可以由相对比较简单的各种对象以组合的方式构成。不同 对象的组合及相互作用就构造为软件系统;对象是有生命的,每个对象都有自己的生命周期;对象与对象之间通过消息(message)进行相互通信;1.1.1 面向对象的基本概念 对象(对象(Object)将软件开发所涉及的各种操作对象和要解决的问题抽象为离散的,相互联系 并且可以相互通信的对象集合,称之为“类”

    4、;类是具有相同属性和行为特征的一组对象的集合,它为属于该类的全部对象 提供了抽象的描述,包括属性(attribute)和方法(method)两个主要部 分。属性是类的静态特征,用一个数据单元表示,属性可以用属性名、属性 类型、可修改型、可见性等进行描述。行为是类的动态特征,是实现该行为 的算法或过程描述;类是抽象的,对象是具体的,任何一个对象都是某个类的一个具体实例(instance);如同铸件和模具的关系;类实际上是一种具有特定数据成员和功能(属性)的复杂数据类型,而对象 则是该“类”(数据类型)的一个变量;1.1.1 面向对象的基本概念 类(类(class)消息是从一个对象(发送者)向另外

    5、一个或几个其它对象(接收者)发送信号,或由一个对象(发送者或调用者)调用另一个对象(接受者)的操作。消息是对象之间在一次交互中所传递的信息消息是对象之间在一次交互中所传递的信息。在面向对象的方法中把对象发 出的服务请求称为消息。消息有不同的实现方式消息有不同的实现方式,如函数调用、程序间的内部通信、各种事件的发生 和响应等。消息不能简单地等同于对象的成员函数调用消息不能简单地等同于对象的成员函数调用,事实上两者之间是有区别的:消息是表示对象间信息传递的抽象概念,而对象的成员函数调用只是消息在 程序设计中的具体表现形式之一。1.1.1 面向对象的基本概念 消息(消息(message)面向对象的基

    6、本概念面向对象的基本概念 对象对象是用来描述客观事物的一个实体张三李四抽象类类是具有相同属性和服务的一组对象的概括属性行为性别,年龄说话,行走具体化继承新类新类人说话,行走性别,年龄大学生性别,年龄,专业说话,行走,学习消息 面向对象方法的基本特征是抽象性面向对象方法的基本特征是抽象性;将具有相同属性和行为的一组对象的抽象为类抽象为类;面向对象的方法中的对象(object)是软件开发所涉及的 问题域中一些事物的抽象,是一些属性、操作和方法的封 装体;通过抽象找出同一类对象的共同属性(静态特征)和行为通过抽象找出同一类对象的共同属性(静态特征)和行为 (动态特征),形成类(class)。抽象性抽

    7、象性1.1.2 面向对象的基本特征 封装是把对象的属性和服务结合成一个独立的系统单位把对象的属性和服务结合成一个独立的系统单位 (即对象);封装将尽可能隐蔽对象的内部细节尽可能隐蔽对象的内部细节,对外形成一个边界 (或者说一道屏障),只保留有限的对外接口使之与外 部发生联系;封装可以有效地控制有效地控制一个对象内部发生变化时对其它对 象的影响;封装能够通过对象接口简化对象的使用通过对象接口简化对象的使用;封装便于通过继承机制实现代码重用通过继承机制实现代码重用;封装(封装(encapsulation)1.1.2 面向对象的基本特征 继承是面向对象方法的基本特征之一,也是面向对象方法能够提高软件

    8、开 发效率的重要原因;继承是指特殊类的对象拥有其一般类的全部属性与服务继承是指特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一 般类的继承;继承意味着特殊类中不必重新定义已在它的一般类中定义过的属性和行为 ,而它却自动地、隐含地拥有自动地、隐含地拥有其一般类的所有属性与行为。通常将一般类 称为基类(base class)或父类(super class),将特殊类称为派生类派生类 (derived class)或子类(subclass);继承简化了人们对客观事物的认识和描述。采用继承机制之后,在定义特 殊类时,只需要声明它是继承自哪个类,并增加它自己的特殊属性与行为 ,而且继承机制具有传

    9、递性,可以被一层一层的不断继承下去,实现代码代码 重用重用,这将明显减轻程序开发工作的强度,提高程序开发的效率。1.1.2 面向对象的基本特征 继承继承 多态性是指在一般类中定义的属性或行为,被特殊类继承之后,可 以具有不同的数据类型或表现出不同的行为,这使得同一个属性或同一个属性或 行为在一般类及其各个特殊类中具有不同的语义行为在一般类及其各个特殊类中具有不同的语义,即具有继承关系 的不同对象接收到同一消息时有不同的行为不同对象接收到同一消息时有不同的行为;多态性可以为具有继承关系的不同类所形成的类族(具有继承关系 的类的树状层次集合)提供统一的外部接口。多态性1.1.2 面向对象的基本特征

    10、 面向对象的程序设计语言是为了支持面向对象程序设计方法而设计的,它与以往各种编程语言的根本不同点在于:其设计的出发点就是为了能更加直接地描述客观世界中存在的事物以及它们之间的相互关系。面向对象的程序设计语言支持抽象抽象数据类型,并且提供了封装性、继承性、多态性等机制,使得类和类库成为可重用的模块。1.1.3 面向对象的程序设计 现实世界是本质上是由对象所组成,而不是由“各种过程 ”所组成;软件开发的目的是为了解决现实世界中的问题,这些问题 都是由对象所组成;面向对象的方法强调直接以问题域(现实世界)中的事物 为中心来思考问题、认识问题,并根据这些事物的本质特 征,把它们抽象地表示为软件系统中的

    11、对象;面向对象方法使软件系统直接映射现实世界的问题域,保 持问题域中事物及其相互关系的本来面貌,从而能够更准 确地进行软件的分析与设计;1.1.4 面向对象的软件开发 为什么要采用面向对象的程序设计方法?为什么要采用面向对象的程序设计方法?面向对象的软件开发面向对象的软件开发 就是将面向对象的思想应用于软件开发过程中的各个阶段。其主要过程为:首先从实际问题出发,用面向对象的方法分析用户需求,建立分析模型;其次进行面向对象的设计,建立系统的设计模型;然后用面向对象的程序设计语言进行编程,实现软件系统;随后进行面向对象的测试;最后进行面向对象的维护。1.1.4 面向对象的软件开发 1.2 C+语言

    12、程序设计C+语言的产生语言的产生 1983加入类CC+ANSI C+1994标准化C+语言的特点语言的特点 支持面向对象的程序设计 支持泛型程序设计 功能强大的标准模板库 C+语言是一种更好的“C语言”1983年8月,C with class首次投入使用,开天辟地;1983年12月,C with class更名为 C+,加入了很多C语言所没有的心特性,包括虚函数,操作符重载,常数、用户可控制的自由空间存储区,新的类型检 查和注释风格;1985年2月,C+Release 1.0发布 1985年10月,巨著The C+Programming Language第一版出版 1989年,C+Releas

    13、e 2.0发布 1990年7月,C+加入模板 1991年6月,C+加入异常处理 1993年3月,加入运行时类型识别 1993年7月,加入名字空间 1998年11月,C+ISO标准得到批准 2003年,C+标准委员会发布处理缺陷报告,发布C+03 2005年,C+标准委员会发布TR1(Technical Report 1),目前,几乎所有流行 的C+编译器都已经支持TR1 2008年,C+标准委员会发布N2800 2011年,C+的最新标准C+0 x完成,加入了许多新特性,如Lambda表达式、智能指针share_ptr、右值引用、多任务内存模型等C+语言的发展系统级程序的开发:Windows、

    14、word、搜素引擎等。游戏:目前很多游戏客户端都是基于C+开发的(除了一些网页游戏),所以如果想从事游戏开发行业学好c+是没错的。服务器端开发:很多互联网公司的后台服务器程序都是基于C+开发的,而且大部分是linux,unix等类似操作系统。如果你想从事这样的工作,你需要熟悉linux操作系统及其在上面的开发,熟悉数据库开发,精通网络编程。数字图像处理:现在市面上有很多VC+图像处理的书籍,可见在这个领域的应用软件开发也是占了很大比重,需要深入学习数字图像处理和模式识别等课程。虚拟现实仿真:这个也是发展很快的计算机领域,目前各种数字地球,数字城市,虚拟地理环境什么的,出现了这方面的大量应用。C

    15、+语言的应用1.3 C+程序开发过程 编辑器 编译器 连接器 源程序.cpp 编辑 编译 目标程序.obj 库文件.lib 目标程序.obj 目标程序.obj 连接 可执行文件.exe CPU 运行 内内存存 装入 调 试 预处理器 预处理 系统头文件 源程序.cpp 源程序.h 调试器 调 试 程序代码的录入、修改执行预处理指令,词法分析、语法分析后生成目标程序与其它目标程序或库连接,生成可执行程序1.4 C+程序实例 预处理命令预处理命令主函数主函数主函数名主函数名函数开始函数开始函数体函数体语句结束标志语句结束标志函数结束函数结束注释块注释块注释行注释行一个简单的一个简单的C+程序程序

    16、在在C+C+程序中,注释块由程序中,注释块由“/*”开始,由开始,由“*/”结束,可以实现多行注释结束,可以实现多行注释。也可使用也可使用“/”进行单行注释。进行单行注释。C+C+语言的预处理命令都是以语言的预处理命令都是以“#”号开头。号开头。iostream是一个头文件是一个头文件,系统系统头文件不带头文件不带.h.h后缀后缀 coutcout为标准输出流对象,它与显示器相连。为标准输出流对象,它与显示器相连。是插入操作是插入操作符,符,endlendl为换行符号。整个语句的功能是将为换行符号。整个语句的功能是将”Hello C+!Hello C+!”字符串与字符串与endlendl依次插入到依次插入到coutcout中中 mainmain是主函数名,一个是主函数名,一个C+C+语言程序有且仅有语言程序有且仅有一个一个mainmain函数。函数。C+C+程序执行时就是从程序执行时就是从mainmain函函数开始数开始.C+C+语言规定:语句以分号结束语言规定:语句以分号结束 使用名字空间使用名字空间?为什么?为什么:标准C+库提供的对象等都放在标准名字空间std中,要使用它们,必须

    展开阅读全文
    提示  兔兜文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计课件1第1章 面向对象程序设计与C++.ppt
    链接地址:https://www.tudouwenku.com/doc/1100355.html

    若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理!

    copyright@2008-2024 兔兜文库 版权所有

    鲁公网安备37072502000182号  ICP备案号:鲁ICP备2021021588号-1  百度保障

    兔兜文库
    收起
    展开