高级语言程序设计基础(C C++):模块8 C++初步认识

上传人:努力****83 文档编号:187592907 上传时间:2023-02-15 格式:PPT 页数:28 大小:289.50KB
返回 下载 相关 举报
高级语言程序设计基础(C C++):模块8 C++初步认识_第1页
第1页 / 共28页
高级语言程序设计基础(C C++):模块8 C++初步认识_第2页
第2页 / 共28页
高级语言程序设计基础(C C++):模块8 C++初步认识_第3页
第3页 / 共28页
点击查看更多>>
资源描述
模块模块8 C+8 C+初步认识初步认识高级语言高级语言程序设计程序设计基础(基础(C&C+C&C+)2主要内容主要内容lC与与C+l面向过程与面向对象面向过程与面向对象l面向对象的基本概念面向对象的基本概念l面向对象的基本特性面向对象的基本特性31 C1 C与与C+C+lC+是从是从C语言发展演变而来的,首先语言发展演变而来的,首先是一个更好的是一个更好的Cl引入了类的机制,最初的引入了类的机制,最初的C+被称为被称为“带类带类的的C”l1983年正式取名为年正式取名为C+l从从1989年开始年开始C+语言的标准化工作语言的标准化工作l于于1994年制定了年制定了ANSI C+标准草案标准草案l于于1998年年11月被国际标准化组织(月被国际标准化组织(ISO)批准为国际标准,成为目前的批准为国际标准,成为目前的C+4C+C+的特点的特点l全面兼容全面兼容C 它保持了它保持了C的简洁、高效和接近汇编语的简洁、高效和接近汇编语言等特点言等特点 对对C的类型系统进行了改革和扩充的类型系统进行了改革和扩充 C+也支持面向过程的程序设计,不是也支持面向过程的程序设计,不是一个纯正的面向对象的语言一个纯正的面向对象的语言l支持面向对象的方法支持面向对象的方法5l类类型类类型l变量的说明变量的说明l输入输出输入输出l注释注释1 C1 C与与C+C+6 变量的说明变量的说明l在在C中,变量的定义必须出现在函数或中,变量的定义必须出现在函数或复合语句的最前面,在正常执行语句复合语句的最前面,在正常执行语句后面不能再定义变量。后面不能再定义变量。int m,n,k;m=10;n=9;k=m*n;.l在在C+中,变量的定义可以出现在任中,变量的定义可以出现在任何位置。何位置。int m,n,k;m=10;n=9;k=m*n;.int x,y;y=k+m;7 输入和输出输入和输出lC+中除了保留中除了保留C标准库中的各种输入和输标准库中的各种输入和输出函数外,还提供了一套新的输入和输出出函数外,还提供了一套新的输入和输出函数函数流式输入输出流式输入输出。使用时包含头文件。使用时包含头文件“iostream.h”。8 输入和输出输入和输出n例:例:#include void main int x,y;float z;cinxyz;/从标准终端输入数据从标准终端输入数据 char*str=“Hello,how are you!”;cout“Please output the info of the string:”str“n”;/向屏幕输出字符串向屏幕输出字符串9 注释注释两种注释形式:两种注释形式:1 1 在一行语句内,在一行语句内,“/”后面的后面的字字符被视符被视为注释为注释2 2 在多行语句内,在多行语句内,“/*”和和“*/”中间中间的所有字符被视的所有字符被视为注释为注释。10C+C+程序的书写格式程序的书写格式l一个一个C+程序可以由一个程序单位或多个程序程序可以由一个程序单位或多个程序单位构成。每一个程序单位作为一个文件,单位构成。每一个程序单位作为一个文件,每个文件由若干个函数组成。由函数构成的每个文件由若干个函数组成。由函数构成的C+程序中,必须只有一个主函数程序中,必须只有一个主函数main(),它是程序执行的入口。它是程序执行的入口。11C+C+程序的编写和实现程序的编写和实现l用用C+语言编写源程序语言编写源程序*.cpp;l对源程序进行编译,形对源程序进行编译,形成成*.obj文件。如果编译文件。如果编译出错,再修改源程序,出错,再修改源程序,直到编译正确;直到编译正确;l将目标文件与将目标文件与C+编译编译器提供的库文件进行连器提供的库文件进行连接,形成可执行的二进接,形成可执行的二进制文件制文件*.exe;l运行程序;运行程序;l分析运行结果。分析运行结果。12回顾:面向过程的设计方法回顾:面向过程的设计方法l重点重点:如何实现细节过程,将数据与函数分开。如何实现细节过程,将数据与函数分开。l形式:形式:主模块主模块+若干个子模块(若干个子模块(main()+子函数)。子函数)。l特点:特点:自顶向下,逐步求精自顶向下,逐步求精功能分解。功能分解。面向过程与面向对象13回顾:面向过程的设计方法回顾:面向过程的设计方法面向过程与面向对象l设计思路设计思路 自顶向下、逐步求精。采用模块分解与功自顶向下、逐步求精。采用模块分解与功能抽象,自顶向下、分而治之。能抽象,自顶向下、分而治之。l程序结构:程序结构:按功能划分为若干个基本模块。按功能划分为若干个基本模块。各模块间的关系尽可能简单,功能上相对各模块间的关系尽可能简单,功能上相对独立;每一模块内部均是由顺序、选择和独立;每一模块内部均是由顺序、选择和循环三种基本结构组成。循环三种基本结构组成。其模块化实现的具体方法是使用子程序。其模块化实现的具体方法是使用子程序。14回顾:面向过程的设计方法回顾:面向过程的设计方法缺点是:缺点是:1、程序修改麻烦:程序修改麻烦:例如程序修改了一个例如程序修改了一个变量名,则要修改所有使用该变量的语变量名,则要修改所有使用该变量的语句;句;2、可靠性差,一致性难以保证:可靠性差,一致性难以保证:数据没数据没有封装,数据可能被分散于程序各处的有封装,数据可能被分散于程序各处的函数改变,数据从整体上很难保证可靠函数改变,数据从整体上很难保证可靠和一致。和一致。3、效率低,程序的可重用性差。、效率低,程序的可重用性差。面向过程与面向对象15面向对象的设计方法面向对象的设计方法面向过程与面向对象l将数据及对数据的操作方法封装在一将数据及对数据的操作方法封装在一起,作为一个相互依存、不可分离的起,作为一个相互依存、不可分离的整体整体对象。对象。l对同类型对象抽象出其共性,形成类。对同类型对象抽象出其共性,形成类。l类通过一个简单的外部接口,与外界类通过一个简单的外部接口,与外界发生关系。发生关系。l对象与对象之间通过消息进行通讯。对象与对象之间通过消息进行通讯。16面向对象的设计方法面向对象的设计方法面向过程与面向对象l优点:优点:程序模块间的关系更为简单,程序模块程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的的独立性、数据的安全性就有了良好的保障。保障。通过继承与多态性,可以大大提高程序通过继承与多态性,可以大大提高程序的可重用性,使得软件的开发和维护都的可重用性,使得软件的开发和维护都更为方便。更为方便。17面向对象的基本概念面向对象的基本概念 对象对象l一般意义上的对象:一般意义上的对象:是现实世界中一个实际存在的事物。是现实世界中一个实际存在的事物。可以是有形的(比如一辆汽车),也可可以是有形的(比如一辆汽车),也可以是无形的(比如一项计划)。以是无形的(比如一项计划)。是构成世界的一个独立单位,具有:是构成世界的一个独立单位,具有:l静态特征:可以用某种数据来描述静态特征:可以用某种数据来描述l动态特征:对象所表现的行为或具有动态特征:对象所表现的行为或具有的功能的功能18面向对象的基本概念面向对象的基本概念 对象对象l面向对象方法中的对象:面向对象方法中的对象:是系统中用来描述客观事物的一个实体,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位。对象它是用来构成系统的一个基本单位。对象由一组属性和一组行为构成。由一组属性和一组行为构成。属性:用来描述对象静态特征的数据项。属性:用来描述对象静态特征的数据项。行为:用来描述对象动态特征的操作序列。行为:用来描述对象动态特征的操作序列。19面向对象的基本概念面向对象的基本概念 类类l分类分类人类通常的思维方法人类通常的思维方法l分类所依据的原则分类所依据的原则抽象抽象 忽略事物的非本质特征,只注意那些与忽略事物的非本质特征,只注意那些与当前目标有关的本质特征,从而找出事当前目标有关的本质特征,从而找出事物的共性,把具有共同性质的事物划分物的共性,把具有共同性质的事物划分为一类,得出一个抽象的概念。为一类,得出一个抽象的概念。例如,石头、树木、汽车、房屋等都是例如,石头、树木、汽车、房屋等都是人们在长期的生产和生活实践中抽象出人们在长期的生产和生活实践中抽象出的概念。的概念。20面向对象的基本概念面向对象的基本概念 类类l面向对象方法中的面向对象方法中的类类 具有相同属性和服务的一组对象的集合具有相同属性和服务的一组对象的集合 为属于该类的全部对象提供了抽象的描述,为属于该类的全部对象提供了抽象的描述,包括属性和行为两个主要部分。包括属性和行为两个主要部分。类与对象的关系:类与对象的关系:一个属于某类的对象称为该类的一个实例。一个属于某类的对象称为该类的一个实例。21 类与对象的关系类与对象的关系l类(模板)与对象(实例)的关系是抽象类(模板)与对象(实例)的关系是抽象与具体的关系;与具体的关系;l同一类的不同实例之间,必有如下特点:同一类的不同实例之间,必有如下特点:相同的操作集合;相同的操作集合;相同的属性集合;相同的属性集合;不同的对象名。不同的对象名。22面向对象的基本特性面向对象的基本特性 封装性封装性l把对象的属性和操作结合成一个独立把对象的属性和操作结合成一个独立的系统单元。的系统单元。l尽可能隐蔽对象的内部细节。对外形尽可能隐蔽对象的内部细节。对外形成一个边界(或者说一道屏障),只成一个边界(或者说一道屏障),只保留有限的对外接口使之与外部发生保留有限的对外接口使之与外部发生联系。联系。23面向对象的基本特性面向对象的基本特性 继承性继承性l继承对于软件复用有着重要意义,是继承对于软件复用有着重要意义,是面向对象技术能够提高软件开发效率面向对象技术能够提高软件开发效率的重要原因之一。的重要原因之一。l定义:特殊类的对象拥有其一般类的定义:特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般全部属性与服务,称作特殊类对一般类的继承。类的继承。l例如:将交通工具作为一个一般类,例如:将交通工具作为一个一般类,汽车便是一个特殊类。汽车便是一个特殊类。24继承性举例继承性举例工具车轿车面包车小汽车卡车旅行车汽车汽车交通工具交通工具251 1、继承继承表达了对象之间的表达了对象之间的相交关系相交关系,即某类对象可以继承另一类对象的特征即某类对象可以继承另一类对象的特征和能力。具有继承关系的类有如下特征:和能力。具有继承关系的类有如下特征:类间具有类间具有共享特征共享特征(包括数据和程包括数据和程序代码共享序代码共享);类间具有类间具有细微的差别或新增部分细微的差别或新增部分(包括非共享的程序代码和数据)。(包括非共享的程序代码和数据)。继承的含义继承的含义262、继承的作用:继承的作用:在定义子类时不必重复在父类中定义在定义子类时不必重复在父类中定义的数据和操作,可减少代码冗余,提高的数据和操作,可减少代码冗余,提高软件复用性;软件复用性;增强一致性,减少模块之间的接口和增强一致性,减少模块之间的接口和界面,易于程序维护。界面,易于程序维护。继承的含义继承的含义27面向对象的基本特性面向对象的基本特性 多态性多态性l多态是指在一般类中定义的属性多态是指在一般类中定义的属性或行为,被特殊类继承之后,可或行为,被特殊类继承之后,可以具有不同的数据类型或表现出以具有不同的数据类型或表现出不同的行为。这使得同一个属性不同的行为。这使得同一个属性或行为在一般类及其各个特殊类或行为在一般类及其各个特殊类中具有不同的意义。中具有不同的意义。28 多态性的含义多态性的含义u 多态性多态性(Polymorphism)是指同一名字(是指同一名字(函数、运算符)在不同的场合具有不同的函数、运算符)在不同的场合具有不同的语义,或者同一界面有多种实现;语义,或者同一界面有多种实现;u C+中的多态性是指不同的对象收到相同中的多态性是指不同的对象收到相同的消息时产生不同的动作或行为;的消息时产生不同的动作或行为;u C+支持两种多态性:支持两种多态性:1、编译时的多态性:通过函数、编译时的多态性:通过函数重载重载来实现。来实现。2、运行时的多态性:通过、运行时的多态性:通过虚函数虚函数来实现。来实现。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!