面向对象技术与工具 第07章ppt课件.ppt

面向对象技术与工具 第07章ppt课件.ppt

ID:58988580

大小:816.50 KB

页数:97页

时间:2020-09-27

面向对象技术与工具 第07章ppt课件.ppt_第1页
面向对象技术与工具 第07章ppt课件.ppt_第2页
面向对象技术与工具 第07章ppt课件.ppt_第3页
面向对象技术与工具 第07章ppt课件.ppt_第4页
面向对象技术与工具 第07章ppt课件.ppt_第5页
资源描述:

《面向对象技术与工具 第07章ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章类和对象3.1类与对象3.1.1类的定义将日期当作一个复杂数据;structDate{intday,month,year;};voidInitDate(Date*pDate,intd,intm,inty);voidAddYear(Date*pDate,intyear);voidAddMonth(Date*pDate,intmonth);voidAddDay(Date*pDate,intday);1第三章类和对象3.1类与对象3.1.1类的定义存在的问题:针对数据的操作和数据没有明确的联系,它们都是相对独立的。所以,在加工

2、数据时,必须将数据的实例作为参数传递给操作函数,数据是被动的。从应用的角度来看,数据应该是主动的,而操作是作为主体的数据主动发起的,也就是说,操作是被动的。2第三章类和对象3.1类与对象3.1.1类的定义C++的解决方案是:将操作归入数据结构中。structDate{intday,month,year;voidInitDate(intd,intm,inty);voidAddYear(intyear);voidAddMonth(intmonth);voidAddDay(intday);};3第三章类和对象3.1类与对象3.1.1

3、类的定义经过这样的改造后,数据成为能动的主体,它不仅包含解决问题的数据,同时也包含加工数据的操作,从而数据与操作紧密地结合在一起。这种数据包真正地成为独立的单元。另外一方面,数据包内部的变化不会反射到它的外部。这就是说,数据内部结构的改变不会对使用数据包的程序部分带来影响。这就是数据封装的一般概念。4第三章类和对象3.1类与对象3.1.1类的定义一般地,C++是用类来实现封装机制的:classclassName{attributes;//datamembers;operations;//memberfunctions;};//

4、注意这个分号的存在定义了一个新的数据类型:className。className是类的名字,也是该类型的类型名。5第三章类和对象3.1类与对象3.1.1类的定义:在一个类中,可以被外部访问的部分被定义在public段中。这些成员被称为公有成员。不能被外部访问的部分被定义在private段中,称为私有成员。一个类外部的函数或者其他的类只能访问这个类的公有成员。而不能直接访问私有的成员。6第三章类和对象3.1类与对象3.1.2访问控制classDate{private://类外不可访问intday,month,year;publi

5、c://类外可访问voidInitDate(intd,intm,inty);//类外可访问voidAddYear(intyear);voidAddMonth(intmonth);voidAddDay(intday);};7第三章类和对象3.1类与对象3.1.2访问控制私有段公有段接口保护段8第三章类和对象3.1类与对象3.1.2访问控制数据封装是相对的概念,只是对于类外而言。而对于类内部,所有的成员都是相互可见的。9第三章类和对象3.1类与对象3.1.3类和对象的关系类只是一种形式化定义。要使用类提供的功能,必须使用类的实例-

6、-对象。对象要占据一定的内存空间。类和对象的关系就像整型和变量的关系。inti;Dated;10classCircle{private:intx,y;//圆心的X、Y坐标floatfRadius;//半径public:voidSetXY(inta,intb);voidSetRadius(floatr);voidMove(intnewx,intnewy);…//其它成员};第三章类和对象3.1类与对象3.1.3类和对象的关系Circlec1,c2,c3;xyfRadiusC1xyfRadiusC2xyfRadiusC3SetXY

7、()SetRadius()Move()12第三章类和对象3.2类的成员3.2.1数据成员类的数据成员往往描述了该类对象所处的状态,因此它被称为属性。所以在设计一个类的时候,都会从该类对象中提取那些能表达对象本质的数据作为属性。13第三章类和对象3.2类的成员3.2.1数据成员例:包含对象的类structPoint{doublex,y;…};classTriangle{private:Pointv[3];//三角形的三个顶点intnColor;public://其它的共有成员…};14第三章类和对象3.2类的成员3.2.2成员函

8、数函数作为成员是面向对象的一种标志之一。这表明了,操作是隶属于对象的。成员函数与一般的函数一样,都有这样一些特性:函数名、参数列表和返回类型。作为成员的函数可以在类类型定义时给出,也可以在类类型定义时只给出成员函数的声明。有些特殊的成员函数可能没有返回类型。没有返回类型指的是

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

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

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