[第三章类和对象1.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[第三章类和对象1

第 3 章 类和对象 (一) 类是面向对象程序设计的核心,它实际上是一种新的数据类型,也是实现抽象类型的工具,因为类是通过抽象数据类型的方法来实现的一种数据类型。 ·类是对某一类对象的抽象;而对象是某一种类的实例。 因此,类和对象是密切相关的。 ·没有脱离对象的类,也没有不依赖于类的对象。类和对象的概念比较复杂,有关内容也比较多,下面分为两章来讲述: 这一章:讲述有关类和对象的基本概念和基础知识; 下一章:讲述复杂的对象及其应用。 §3.1 类的定义 一、什么是类 类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。因此,类具有更高的抽象性,类中的数据具有隐藏性,类还具有封装性。 ·类是一种用户定义的类型,它实际上是一种类型的实现。 C++语言中提供了类这种工具使得应用中的实体 (抽象的对象)在程序中可以直接地被表示为一个标识符,并可以对它进行引用和操作,这就使得程序中的概念与应用中的概念相互比较一致和对应。这便是类这种抽象数据类型所起到的作用。 ·类的结构是用来确定一类对象的行为的,而这些行为是通过类的内部数据结构和相关的操作来确定的; ·这些行为是通过一种操作接口来描述的,使用者只关心的是接口的功能,对它是如何实现的并不感兴趣。 这就是通过抽象数据类型实现的类所达到的一种效果。而操作接口又被称为这类对象向其它对象所提供的服务。 二、类的定义格式 类的定义格式一般地分为:说明部分和实现部分 ·说明部分包含数据成员的说明和成员函数的说明。成员函数是用来对数据成员进行操作的,又称为“方法”; ·实现部分是用来对成员函数进行定义。 概括说来,说明部分将告诉使用者“干什么”,而实现部分是告诉使用者“怎么干”。 使用者关心的往往是说明部分, 而实现部分是一些不必关心的信息。 (1)类的一般定义格式如下: class 类名 { public: 成员函数和数据成员的说明 private: 成员函数和数据成员的说明 }; 各个成员函数的实现 (2)说明: ·class——是定义类的关键字; ·类名—— 一种标识符,通常用 T 字母开始的字符串作为类名,T 用来表示类,以示与对象、函数名区别。 ·{ }—— 类的说明部分 (包括前面的类头) 说明该类的成员。 类的成员包含:数据成员和成员函数 ·从访问权限上来分,类的成员又分为: ▲公有的 (public):是一些操作(即成员函数), 它是提供给用户的接口功能。这部分成员可以在程序中引用。 ▲私有的 (private):通常是一些数据成员,这些成员是用来描述该类中的对象的属性的,用户是无法访问它们的,只有成员函数或经特殊说明的函数才可以引用它们,它们是被用来隐藏的部分。 ▲保护的 (protected):保护的成员在继承性一章中讨论。 ·关键字public,private和protected:被称为访问权限修饰符或访问控制修饰符。它们在类体内 (即一对花括号内)出现的先后顺序无关,并且允许多次出现,用它们来说明类成员的访问权限。 ·各个成员函数的实现—— 类定义中的实现部分,这部分包含所有在类体内说明的函数的定义。如果一个成员函数在类体内定义了,实现部分将不出现。如果所有的成员函数都在类体内定义,则实现部分可以省略。 (3)举例 下面给出一个关于日期的类的定义,该类是对日期抽象,该类的对象将是某一个具体的日期。 1)日期类的说明部分: class TDate { public: void SetDate(int y,int m,int d); int IsLeapYear(); void Print(); private: int year,month,day; }; 一对花括号内是该类的成员说明,其中有3个公有成员,它们都是成员函数, ·SetDate()函数——设置日期,用它来使对象获取值; ·IsLeapYear()函数——用来判断是否是闰年的函数,它返回值为1表示该年是闰年,返回值为0表示该年不是闰年; ·print()函数——将年、月、日的具体值输出显示。 ·函数名往往是用多个英文单词的,每个单词的第一个字母用大写字母,其余用小写,单词间不加任何分隔,这是一种习惯性的约定。 ·三个私有成员:它们是 int 型变量 year, month 和 day。该类共有 6 个成员。 2)日期类的实现部分: void TDate::SetDate(int y,int m,int d) { year=y; month=m; day=d; } int TDate::IsLeapYear() { return (year%4==0year%100! =0)||(year%400==0); } void TDate::Print()

文档评论(0)

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

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

1亿VIP精品文档

相关文档