面向对象程序设计语言C++ - 精品课模板cs.pptVIP

面向对象程序设计语言C++ - 精品课模板cs.ppt

  1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七章 类与对象 丘志杰 电子科技大学 计算机学院 软件学院 C++与C最大的不同在于C++增加了面向对象的概念。C++允许用户定义新的抽象数据类型—类类型,它将一组数据和与这些数据相关的操作封装在一起,实现了面向对象技术中的核心概念—数据封装。 抽象 抽象是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程。 先注意问题的本质及描述,其次是实现过程或细节。 数据抽象:描述某类对象共有的属性或状态。 行为抽象:描述某类对象共有的行为特征或具有的功能。 抽象实例:时钟 数据抽象: 具有表明当前时间的时、分、秒 行为抽象: 具有设置时间和显示时间两个最基本的功能 抽象实例:人 数据抽象: 姓名、年龄、性别等 行为抽象: 生物属性:吃饭、穿衣、睡觉、行走等行为 社会属性:工作、学习等行为 在研究问题时,侧重点不同,可能会产生不同的抽象结果;解决同一问题时要求不同,也会产生不同的抽象结果。例如: 如果开发一个人事管理软件,那么关心的是员工的姓名、性别、工龄、工资、工作部门等相关信息。 如果开发学籍管理软件,那么关心的是学生的姓名、性别、年龄、籍贯、所在学院等相关信息。 因此,抽象是相对,而非绝对的。 如何实现抽象? 抽象定义了一个事物的本质特征,那么从软件设计的角度又如何对抽象出来的结果进行描述呢?封装可以实现抽象。 封装就是将数据和操作这些数据的函数进行有机地结合。 C++的解决方案:用类来实现封装机制 定义和使用类的基本过程 第一步:进行抽象 第二步:定义类 第三步:实现类 第四步:使用类 类的定义:类的成员构成 类定义举例:时钟类 类成员的访问控制 什么是“类内”和“类外” 在类定义之内称为类内 在类定义之外称为类外 数据封装的目的就是信息隐蔽。为了达到信息隐蔽,在C++类中,并非所有的成员都是对外可见的(或者说,是类外可以访问的)。 通过设置成员的访问控制属性来实现对类成员的访问控制。这些控制属性有:public、protected、private 类的定义:对成员的访问控制 公有成员 在关键字public后面声明,它们是类与外部的接口,任何类内、类外函数都可以访问公有数据和函数。 私有成员 在关键字private后面声明,只允许本类中的函数(即类内函数)访问,而类外的任何函数都不能访问。 保护成员 在关键字protected后面声明的数据成员或成员函数。与private类似,其差别表现在继承与派生时对派生类的影响不同,在第八章中再描述。 类定义举例:时钟类 类的实现 或者: 类的使用 类是一种数据类型,类的变量称作类的实例,或对象。 每个对象各自包含了类中定义的各个数据成员的存储空间,也就是说,一个类的数据成员将拥有多个拷贝。但它们共享类中定义的成员函数。 定义对象的方式:类名 对象名; 例如:Clock aclock; 类外访问成员的方法 通过对象来访问成员 对象名.公有成员函数名(形参列表); 对象名.公有数据成员 通过对象指针来访问成员 对象的指针->公有成员函数名(形参列表); 对象的指针->公有数据成员 举例:一个比较完整的Clock类 总结:定义和使用类类型的过程 抽象:对事物进行抽象 定义类:根据抽象的结果定义类的特性 实现类:实现类中成员函数的逻辑 使用类:在程序中定义类的实例,使用类的公有成员。 在定义类时,把可以被外部访问的成员说明为public属性,作为外部访问类中成员的接口。把不能被外部访问的成员说明为private或protected属性。 请思考以下情况 能调用下面语句吗? clock_1.Hour=21; 如果将ShowTime说明为private属性,还能调用如下语句吗? clock_2.ShowTime(); 练习一 设计一个三角形类CTriangle,该类满足下述要求: a)有一个成员函数SetEdge,用于设置三角形的边。 b)有一个成员函数GetArea,用于获得三角形的面积。 c)有一个成员函数GetCircumference,用于获得三角形的周长。 在main函数中,实例化一个Ctriangle类的对象,将三条边分别为3、4、5,然后将其面积和周长显示在屏幕上。 备注: 1.三角形面积的计算方式如下: a、b、c分别为三条边,S代表面积,p=(a+b+c)/2,那么S2=p(p-a)(p-b)(p-c)。 2.求开平方的库函数是sqrt,需要包含math.h头文件,使用方式的举例如下: int a, b; b=36; a=sqrt(b); 那么a的值为6 练习二 Need To Do 几点说明 在声明类时,具有不同访问属性的成员可以按任意顺序出现。 修饰访问属性关键字可以多次出现。 一

文档评论(0)

kfcel5889 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档