




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计摘要:C+面向对象语言是当今使用范围最广的面向对象语言之一主要内容包括:类和对象,派生类和继承,多态性,模板,以及I/O流类库。学习好C+语言对我们今后的发展必将产生重大影响。【关键词】: 面向对象程序设计 对象 封装 继承 多态性 C+引言:向对象程序设计是当前主流的程序设计方法。它能有效降低软件的复杂性,极大地改善软件的重要性和可维护性,显著地降低软件的生产才成本,提高软件的质量和开发效率。因此,面向程序设计方法已取代了传统结构化程序设计的地位而成为软件工业界主流的程序设计方法。C+语言是C语言的基础上发展而来的。在C+中不但加入了支持面向对象程序设计的特性,还增加了许多新的特性,则可以把C+看成是“更好的C”。使用C+编写结构化程序也比使用传统的C语言更容易一些。正文:一 面向对象程序设计概述传统的软件开发方法,如面向过程方法和面向数据方法,都只是针对具体问题的功能,不允许用户需求在开发过程中有所改变。显然,由此开发的软件系统在可靠性、可维护性和可重用性上就会存在很大的不足。为了克服传统方法的缺点,人们在实践中创造了接近人们认识过程的面向对象的软件开发方法。面向对象方法包括面向对象分析、面向对象设计和面向对象实现。尽管面向对象方法主要用于应用系统的设计,但面向对象分析作为一种独立的需求分析方法以及其它分析方法的补充,目前正逐渐得到发展。现阶段最常用的是C+。二 面向对象C+概述C+是基于C语言发展的,又冲破C语言局限的面向对象的程序设计语言。它与Java语言都作为当前计算机科学的主流语言,越来越受到用户的欢迎。c+面向对象程序设计是计算机本科专业的一门专业课程,其目的是培养学生了解面向对象程序设计的基本理论和基本概念,主要是面向对象的程序设计思想,掌握面向对象程序设计的基本技巧和方法,重点是培养学生的思维和实际编程能力,培养与计算机应用相关的软件设计、测试、管理及新产品的开发领域高素质应用型人才。 三面向对象程序主要性质和内容1说明一个类 class 类名 body ;再定义一个属于该类的对象。 在C+中,类是支持数据封装的工具,而对象则是数据封装的实现。类可以看作为一种数据类型,则对象视为该类型的变量,其定义一个对象的格式为: 类名 对象名2继承性又分单一继承和多重继承。目的是减少冗余,提高程序的可重用性。子类可用自己的成员,也可用父类,甚至父父类的成员。这是C+中的重点。3为提高程序的可读性,在程序中可适当写一些注释,C+的注释有两种:/和/*/。/*/为多行注释符,以/*打头,*/结尾。 如 /* */则第2、3行语句被注释,系统不予运行。而/称之为行注释。 如 /这里第二行后面为注释内容,但第二行仍运行。 如 /则第二行屏蔽。/*/也可放在一行用,起行注释作用。C+的分隔符号有空格符、逗号、分号、冒号、 等各有不同作用,在具体的程序中再作讨论。分号主要用作语句结束符。4基本数据类型C+所提供的数据类型,在所有的语言中堪称是最丰富的一种,这些数据类型基本上又分成二类:基本类型和构造类型。四种基本类型是:char、int、float、void,并引申出unsigned char、signed char、unsigned int、signed int、long int、short int、double、long double常用的及取值范围(值域)C+中的数据类型除了基本类型之外,还有构造类型。构造类型又包括数组、枚举、结构、联合及指针。 数组的定义方式 int A5;A是数组名,它包括有5个元素,每一个元素均为int,下标属于04;而二维数组: char B23;例如 在某个程序中,定义了二个整型变量:x,y int x,y;它们在该程序地址空间中的位置如下图: 程序地址空间56100 x 100 y 102 px 5000 变量x占用地址单元100,y则占用102,执行赋值语句: x5;yx1;就是把整数5送入起始地址为100的二个连续字节单元中去,语句yx1则先从100单元中取出x的值5,然后加1,最后送入地址为102的y变量中,则y变量的内容为6。一个变量对应于一个地址,按变量的地址访问变量值的方式称之为直接访问。5类与对象是面向对象程序设计的基础,类是某一类对象的抽象。而对象是某一种类的实例(Objected,Class,Example)。int x中int是类,x是对象。例 P.138class tdate public: void setdate(int y,int m,int d) year=y; month=m; day=d; int isleapyear( ) return ((year%4 = = 0&year%100!=0)|(year%400=0)); void print( ) coutyear”.”month”.”dayendl; private: int year,month,day; ;6要编好程序,就要学会合理地划分程序中的各个程序模块。每一个模块在C+中称之为函数。每个函数都可以有属于它的数据和语句集合,并把它们封装在这个函数内。函数有各种表现形态,但都离不开函数调用的实质。要用好函数必须先把握函数调用机制。通过本章的学习讨论,要求掌握函数调用的内部机制。区分函数的定义和说明,理解局部变量、全局变量、静态变量的作用域,以及递归、内联、重载和默认参数的函数。程序通常是非常复杂而冗长的。实际编程中,有些程序需要几万甚至几百万行的代码。在编写一个很大的程序时可以采用一种好的策略,就是把这个大的程序分解成一些相对独立而且便于管理和阅读的小块程序,便于调试和阅读。把相关的语句组织在一起并给它们注明相应的名称,这种形式的组合就称之为函数,也称为过程。下图为main函数用层次式管理方式与被调用函数的关系。一个函数可以被函数调用也可以调用函数。main( )Func1()Func2( )Func3( )Func4( )Func5( ) C+不允许函数定义嵌套,即在函数定义中再定义一个函数,但可嵌套调用。函数又分为系统函数和用户函数。系统函数是软件销售商提供的,对常用的一些函数如三角函数等,使用时直接调用即可。我们在此讨论用户函数,在C+中称之为一般函数。7多态性就是多种表现形式,具体来说,可以用一个对外接口,多个内在实现方法表示。举一个例子,计算机中的堆栈可以存储各种格式的数据,包括整型,浮点或字符。不管存储的是何种数据,堆栈的算法实现是一样的。针对不同的数据类型,编程人员不必手工选择,只需使用统一接口名,系统可自动选择。 多态性也分静态多态性和动态多态性两种。静态多态性是指定义在一个类或一个函数中的同名函数,它们根据参数表(类型以及个数)区别语义,并通过静态联编实现,例如,在一个类中定义的不同参数的构造函数。动态多态性是指定义在一个类层次的不同类中的重载函数,它们一般具有相同的函数,因此要根据指针指向的对象所在类来区别语义,它通过动态联编实现。 动态多态是指发出同样的消息被不同类型的对象接收时,有可能导致完全不同的行为。即,在用户不作任何干预的环境下,类的成员函数的行为能根据调用它的对象类型自动作出适应性调整,而且调整是发生在程序运行时。 多态是面向对象程序设计的重要特征之一。是扩展性在“继承”之后的又一重大表现 。 举例子说明一下: #include class A public: virtual void test() coutaaaendl; /运行时的多态性,如果不加virtual就是编译时的多态 /void test() coutaaaendl; /编译时的多态性 ; class B:public A public: void test() coutbbbendl; ; class C:public B public: void test() coutccctest(); 结论:C+是一种语言,仅仅是它的语法、特性、标准类库就已经是一门非常高深的课程,所以在开始学习的时候,必须先要打好基础。学习C+应该由易至难,循序渐进。以前经常有人说学习C+之前应该学习C语言。事实上那不是必须的,C+和C语言虽然有关系,但仍然是两种不同的语言。当然,在学习C+之前学习过其他编程语言是很有好处的。那会使学习C+的速度更快,毕竟很多计算机语言的概念都是相通的。而对于零基础的初学者来说,则是应该静下心来,不要急躁。要成为C+的高手,不是那么容易的,必须要花很大的努力。参考文献:1谭浩强C+面向对象程序设计M北京
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 4.4世界的气候3说课稿-2024-2025学年七年级地理上册人教版
- 2024年五年级数学下册 1 简易方程第九课时 列方程解决实际问题练习课(4)说课稿 苏教版
- 聚酰胺装置操作工安全规范考核试卷及答案
- 第1单元微项目4《用动突出演讲主题》说课稿-2024-2025学年泰山版(2019)初中信息技术八年级上册
- 七年级生物上册 第二单元 第二章 第4节单细胞生物说课稿 (新版)新人教版
- 浙江省人教版历史与社会七年级上册 2.3 人口与人种 说课稿
- 小学语文识字与写话训练题集
- 《 音乐实践》(教学设计)-2023-2024学年人教版(2012)音乐四年级上册
- 2025年内分泌科激素治疗方案设计评估答案及解析
- 2025年中医科典型证候辨识与辨证施治试题答案及解析
- 文物、古建筑、塔类、寺庙类施工方案、施工组织设计【高分可编辑】
- 生产开停机管理办法
- 养老护理员培训排泄照护
- 保监会保险股权管理办法
- 傣文教学课件
- 教师职业素养讲解课件
- DB42T 1196-2016 毛竹(楠竹)母竹造林技术规程
- 2025年广西中考化学试卷真题(含答案解析)
- 《妇产科护理》课件-关爱女性守护生殖健康
- 儿童表演唱课件
- 工程造价培训用课件
评论
0/150
提交评论