第2章类与对象优秀PPT.ppt
《第2章类与对象优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第2章类与对象优秀PPT.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第2章类与对象1现在学习的是第1页,共38页C语言语言基本数据类型:整型、浮点型、字符型。基本数据类型:整型、浮点型、字符型。构造类型:枚举、结构体构造类型:枚举、结构体C+把结构体扩展把结构体扩展自定义数据类型自定义数据类型类的概念2现在学习的是第2页,共38页C+的类从的类从C的结构体发展而来。的结构体发展而来。在在C+中,我们可以自己来定义一个类型,并且使用时就像使用基中,我们可以自己来定义一个类型,并且使用时就像使用基本数据类型那样简单。本数据类型那样简单。自自定定义义类类型型的的使使用用,就就像像使使用用基基本本数数据据类类型型那那样样简简单单,对对应应的的实实体体就就称称之之为为对
2、对象象。因因此此,编编程程的的意意义义就就是是算算法法在在对对象象之之间间穿穿梭梭,或或曰曰针针对对对对象象的算法设计的算法设计。所以其相应的编程就是对象化的编程了。所以其相应的编程就是对象化的编程了。3现在学习的是第3页,共38页一个类的框架结构 类的声明即类的定义类的声明即类的定义,声明一个类的语法与结构,声明一个类的语法与结构的声明类似:的声明类似:class /class是声明类的关键字是声明类的关键字 private:public:;4现在学习的是第4页,共38页 如何定义C+的类以时钟类为例子以时钟类为例子5现在学习的是第5页,共38页类类和和对对象象的的关关系系相相当当于于普普通
3、通数数据据类类型型与与其其变变量量的的关关系。系。声明一个声明一个类类:定义了一种新的:定义了一种新的数据类型数据类型;对象对象说明:创建这种说明:创建这种数据类型的物理实体数据类型的物理实体。由由同同一一个个类类创创建建的的各各个个对对象象具具有有完完全全相相同同的的数数据据结结构,但它们的数据值在使用过程中可能各不相同。构,但它们的数据值在使用过程中可能各不相同。一一旦旦创创建建了了一一个个类类的的对对象象,程程序序就就可可以以用用圆圆点点运运算算符符“.”来引用类的公有成员,其一般形式为来引用类的公有成员,其一般形式为 或或 对象对象6现在学习的是第6页,共38页 类类的的成成员员函函数
4、数用用于于对对数数据据成成员员进进行行处处理理,又又称称为为“方方法法”,程程序序中中通通过过类类的的成成员员函函数数来来访访问问其其内内部部的的数数据据成成员员。一一般般类类中中成成员员函函数数的的原原型型声声明明写写在在类类定定义义体体内内,用用以以说说明明该该成成员员函函数数的的形形式式参参数数和和返返回回值值类类型型,而而成成员员函函数数的的定定义义体体一一般般写写在在类类定定义义之之外外。通通常常采采用用下面的形式定义成员函数:下面的形式定义成员函数::()7现在学习的是第7页,共38页例例如如,用用前前面面定定义义的的Clock类类声声明明一一个个Clock的的对对象象c1,通过对
5、象,通过对象c1完成对成员函数完成对成员函数 showTime()的调用:的调用:Clock c1(12,30,0);c1.showTime();注注意意:只只有有用用public定定义义的的公公有有成成员员才才能能使使用用圆圆点点操操作作符符访访问问,对对象象中中的的私私有有成成员员是是类类中中隐隐藏藏的的数数据据,不不允允许许在在类类外外的的程程序序中中被被直直接接访访问问,只只能能通通过过该该类类的的公公有成员函数来访问它们。有成员函数来访问它们。8现在学习的是第8页,共38页如何设计一个类1抽抽象象:抽抽取取本本质质特特性性(共共性性),加加以以简简单单描描述述例例如如用用C+语言将圆
6、形语言将圆形(circle)抽象如下:抽象如下:数据抽象:数据抽象:对象对象属性属性和和状态状态的描述的描述 double x,y,r;行为抽象:行为抽象:数据所需要的数据所需要的操作操作 setx();sety();setr();draw();抽象是面向对象方法的核心抽象是面向对象方法的核心。9现在学习的是第9页,共38页2封装:封装:内部细节对外隐藏,通过接口进行控制内部细节对外隐藏,通过接口进行控制使程序使程序中各部分之间的相互影响达到最小;中各部分之间的相互影响达到最小;提高程序的安全性;提高程序的安全性;简化代码的编写工作;简化代码的编写工作;对象中的对象中的数据数据(即(即属性属性
7、)、)、操作代码操作代码(即(即行为行为)称)称为对象的为对象的成员成员。私有成员:对象中被隐藏的部分;私有成员:对象中被隐藏的部分;公有成员:对象与外界的接口。公有成员:对象与外界的接口。封装的封装的两个目标两个目标:1.数据和行为的包装;数据和行为的包装;2.信息隐藏。信息隐藏。10现在学习的是第10页,共38页实验定义一个定义一个Point类,包含类,包含x、y坐标,包含一下功能:坐标,包含一下功能:1)设置)设置x坐标坐标2)设置)设置y坐标坐标3)得到)得到x坐标坐标4)得到)得到y坐标坐标11现在学习的是第11页,共38页构造函数构造函数:在类中声明的一种在类中声明的一种特殊的成员
8、函数特殊的成员函数;作用:作用:将将对象初始化对象初始化为一个特定的状态为一个特定的状态。构构造造函函数数的的名名字字与与它它所所属属的的类类名名相相同同,被被声声明明为为公有函数公有函数,没有返回值没有返回值,在创建对象时被,在创建对象时被自动调用自动调用。构造函数可以构造函数可以访问类的所有数据成员访问类的所有数据成员,可以带有,可以带有参数表参数表,可以带,可以带默认的形参值默认的形参值。构造函数也可以。构造函数也可以重载重载,以提供初始化类对象的不同方法。以提供初始化类对象的不同方法。构造函数和析构函数12现在学习的是第12页,共38页例如,前面定义的例如,前面定义的Clock类类的构
9、造函数为的构造函数为Clock(int h,int m,int s)hour=h;minute=m;second=s;每每个个类类都都必必须须有有构构造造函函数数,若若类类定定义义时时没没有有定定义义任任何何构构造造函函数数,编编译译器器会会自自动动生生成成一一个个不不带带参参数数的的缺缺省省构造函数,其形式如下:构造函数,其形式如下::()/13现在学习的是第13页,共38页作用:对象失效时,进行系统放弃对象内存之前的清作用:对象失效时,进行系统放弃对象内存之前的清 理工作,使内存可用来保存新的数据。析构理工作,使内存可用来保存新的数据。析构 函数本身并不实际删除对象。函数本身并不实际删除对
10、象。例:例:rectangle()函数体函数体 析构函数14现在学习的是第14页,共38页定义拷贝构造函数的一般形式为:定义拷贝构造函数的一般形式为:class class_nameprivate:public:class_name(形式参数表形式参数表)/构造函数构造函数 函数体函数体 class_name(class_name&ob_name)/拷贝构造函数拷贝构造函数 函数体函数体 拷贝构造函数调用场合:拷贝构造函数调用场合:1.用类的一个对象去初始化该类的另一个对象;用类的一个对象去初始化该类的另一个对象;2.函数的形参是类的对象;函数的形参是类的对象;3.函数的返回值是类的对象。函数
11、的返回值是类的对象。拷贝构造函数15现在学习的是第15页,共38页默认拷贝构造函数默认拷贝构造函数只是把作为参数传递的对象的每默认拷贝构造函数只是把作为参数传递的对象的每一个成员变量复制到新对象的成员变量中去。我一个成员变量复制到新对象的成员变量中去。我们把这种拷贝叫浅拷贝。们把这种拷贝叫浅拷贝。大部分情况下这样是可行的。但当成员变量有指向大部分情况下这样是可行的。但当成员变量有指向自由存储区中的对象的指针时,就会有问题:自由存储区中的对象的指针时,就会有问题:16现在学习的是第16页,共38页浅拷贝把一个对象的成员精确地复制到另外一个对象中,浅拷贝把一个对象的成员精确地复制到另外一个对象中,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 优秀 PPT
限制150内