第3章 类和对象

第3章 类和对象

ID:46376195

大小:316.00 KB

页数:48页

时间:2019-11-23

第3章 类和对象_第1页
第3章 类和对象_第2页
第3章 类和对象_第3页
第3章 类和对象_第4页
第3章 类和对象_第5页
资源描述:

《第3章 类和对象》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第三章类和对象3.1面向对象程序设计(OOP)概述`3.1.1什么是面向对象程序设计现实世界是由形形色色的对象构成,每个对象都有自己的属性和行为。属性表示事物的静态特征,而现为表现事物的动态特征。人们通过研究事物的属性和现为来研究事物。3.1.2面向对象程序设计与面向过程程序设计的区别图1面向过程程序设计图2面向对象程序设计3.1.3面向对象程序设计中的若干概念a)对象(object)对象:客观世界中的任何一个事物都可以看成是一个对象。一个对象具有两个要素:属性和行为。每个对象一般有一组属性和一组行为,从外界要操作一个对象可以给对象发送一个消

2、息(调用对象的某个行为,改变对象的某些属性)。对象之间就是通过发送和接受消息来相互联系和作用的。使用面向对象的程序设计方法设计一个复杂的软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象C++中的对象由数据成员和成员函数组成,每个对象都有一组数据成员和若干个成员函数。数据成员就是前面提到的一般对象的属性,成员函数就是对象的行为。图3C++中的圆对象b)封装 封装:把对象的一部分属性和行为对外界屏蔽起来。外界只知道对象具有某个行为,但不知道该行为是怎么实现的。例如电视遥控板。C++对象的成员函数就是对象的对外接口,封装了C+

3、+对象的行为。c)抽象 抽象:客观世界中有形形色色的对象,这些对象中有一些是非常相似的。人们就将这些相似的对象的共同点进行总结,归为一类。例如人类、植物类、动物类、整数类,这就是抽象。面向对象程序设计中我们并不直接去设计对象,而是将程序中用到的对象进行抽象归类。然后设计各个类,再用类实例化对象。类是对象的抽象,对象是类的实例。c)继承与重用在面向对象程序设计中如果待设计的类的属性和行为完全包括某个已存在的类,就可以对已存在的类进行继承。在继承的基础上进行扩展,增加一些属性和行为。例如圆柱体类可以继承自圆类。面向对象程序设计通过继承可以重用已有

4、软件的中的一部分或大部分。大大节省了编程工作量。达到了软件重用的思想。这是面向过程程序设计所不能达到的优点。d)多态性多态性:不同的对象对相同的消息执行不同的操作。例如在期末大会上校长宣布:下学期3月5日开学。不同的对象对这一消息有不同的处理。学生要在3月5日到校注册。教师要备好课准备上课。后勤人员要准备好生活必须品。3.2类的申明和对象的定义1类和对象的关系在C++中对象的类型称为类(class)。类代表了某一批对象的共性和特征。类是对象的抽象,而对象是类的具体实例(instance)。在C++中也是先声明一个类类型,然后用它去定义若干个同

5、类型的对象。对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在一开始时弄清对象和类的关系是十分重要的。2类的申明类的申明和申明结构体类型相似。申明类时用关键字class#includeusingnamespacestd;classCirCle{//数据成员(属性)floatx;floaty;floatr;//成员函数(形为)floatArea(){return3.14159*r*r;}};//分号不能丢voidmain(){CirClec1

6、;}可以看到,类(class)就是对象的类型。实际上,类是一种广义的数据类型。类这种数据类型中的数据既包含数据,也包含操作数据的函数,它把数据和操作封装在一起。左边程序中封装在类Circle中的成员(成员函数和数据成员)都对外界隐蔽,类不能接受外界的消息,缺少和外界的接口。这样的类毫无用处,我们一般是将类的数据成员隐蔽,而将成员函数作为类和外界交互的接口(不一定非要这样)。因此将类CirCle修改如下:#includeusingnamespacestd;classCirCle{private:floatx;floaty;f

7、loatr;public:voidSetRadio(floatradio){r=radio;}floatArea(){return3.14159*r*r;}};voidmain(){CirClec1;//定义对象//发送消息c1.SetRadio(5.2);cout<

8、加修饰符则默认为私有的。private和public可以出现多个。还有一个成员访问限定符protected在类的继承一章中介绍C++对结构体的扩展C++对C语言中的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。