类和对象定义和使用.docVIP

  1. 1、本文档共6页,可阅读全部内容。
  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++中,一个类就是由不定量的成员方法和属性构成。 【访问权限】 访问权限是每一个面向对象语言(OOL)都会有的一个特色,它通过某一些固定的关键字能够给类中的成员指定外部人员的访问权限。通常较多的是public(公有的)、private(私有的)以及protected(保护的)。下面我们可以将一个类想象成一个人,了解一下这些关键字的含义: public(公有的),顾名思义就是所有的人都可以自由使用的一些资源,无论是这个类本身还是除了这个类外的其他代码都可以自由地对这个类中的公有资源进行访问和操作,不受任何限制。 private(私有的),这很明显就是只有这个类自己才可以使用的一些资源,这些资源一般都是一些数据,例如存储学号、姓名等信息的变量。它们完全不能够被外部的代码访问,除非你是这个类的友元。(关于友元的概念我们下一次再讨论)默认情况下类的成员都是私有的。 protected(保护的),这个含义比较难解释,在这里我们也不进行讨论,在后期我们讨论继承的时候我们再继续说回这个话题。 访问限定符在类中无先后次序,各限定符允许多次出现。 【C++类的构造方法】 在C++中构造一个类型,我们通常需要进行以下的步骤,下面我们可以通过一个简单的例子来说明: 如上就是一个基本的类。类通常以class为关键字打头,后面跟着类的名称,本例中为Student,以一对花括号说明类的本体,以分号指代类的定义结束。通常在定义类的过程中使用private关键字来说明数据成员,当使用private:开头时,则说明在private:之后的所有成员都将为私有的成员,除了Student类中的方法成员可以自由访问外,其他类外的成员将统统无法访问。同样public:打头时,说明public:之后的所有成员都是公有成员,任何区域的代码都可以对它们进行自由的访问。 【C++中对象的定义和使用】 在定义玩上述的类之后,我们就可以构造一个Student类的对象了,也就是一个用于存储某一个具体学生信息的变量。定义Student对象std代码如下: 大家可以看到,对象定义的方法其实和定义变量非常的相似。那么接下来就是如何在std中保存信息了。按照我们以往的思路我们一定会写成如下的形式: 但毫无疑问的是这种赋值方式出现了错误,让我们一起来看看错误的原因: 造成这些错误的原因又是何在呢?其实这主要是因为我们在前面定义类的时候将ID、Name、Age三个属性定义成了private私有的类型,所以除了类中的代码之外,其他在类外的代码,例如主函数中的代码都不能够直接的访问这些成员,但是为了数据的安全,我们不得不这样做。那么我们怎样才能够做到既能够保证数据既安全又能够被访问到呢?这就是下面的这些函数的功劳: 这些函数都比较简短,我相信大家一眼就能够看出来这是什么意思。在这里要说明一下的是为了在赋值的时候防止形参的名称和类中已有的属性的名称相同而导致编译器无法识别到底要对哪个数据进行操作,因此在C++中提出了this指针的概念,this这个关键字其实就指代当前的对象。例如当我们对std中的ID进

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档