C++面向对象基本概念复习.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C面向对象基本概念复习

面向对象技术是当今软件开发的主流,很多开发人员都转向使用面向对象的语言进行编程。而C++也是面向对象程序设计语言的一种。本章将依次讲解C++中的类与对象。内容包括类与对象、类的继承与派生、类的多态性等。通过本章学习,读者能够熟练掌握面向对象的思想,并能将这种思想融入到代码中。 4.1 类与对象 客观世界中,任何一个事物都可以看成是一个对象(Object)。在C++中,对象的类型被称为类(class)。本节将具体介绍类与对象的相关概念与使用。 4.1.1 面向对象思想 面向对象的思想和面向过程的思想是相对的。面向过程的程序,详细地描述了每一时刻的数据结构及对其的操作过程。而面向对象的程序,将一个个小的操作封装成对象。在以后的编写中,只需调用对象即可。面向对象的程序有三大特性:封装性、继承性与多态性。 4.1.1 面向对象思想 1.封装性 所谓的封装性,有着两方面的含义:一是将基本数据和对此数据进行操作的过程和函数结合起来,形成一个对象,各个对象之间相互独立,互不干扰。二是对象将对外界公开的是一个界面,将具体的细节隐藏起来,保证了数据的安全性。 2.继承性 继承性是面向对象程序设计中最重要的机制。通过继承机制,可以方便地利用一个已有的类(父类)建立一个新的类(子类)。新类不但可以继承已有类的属性和方法,还可以拥有自己特有的方法。 3.多态性 所谓多态性是当不同的对象收到相同的消息时产生不同的动作。多态性是面向对象程序设计的一个重要特征,其增加了程序的灵活性。 4.1.2 类的声明 类是具有相同属性和相同方法的对象的集合。类由类头(class head)和类体(class body)组成。类头由关键字class和类名组成。类体是指花括号({})中的内容。类体由数据成员和成员函数组成。需要注意提,类的声明以分号结束。声明类的一般形式为: 4.1.2 类的声明 其中,关键字private、public和protected称为成员访问限定符。用这些访问限定符来声明各成员的访问属性。 private:只能在本类中访问,在类外不能访问。 public:既能在本类中访问,又能在类外通过该类的对象进行访问。 protected:与private类似,不能被类外访问,但能被派生类的成员函数访问。 说明:如果在类的声明中没有使用关键字,则系统将数据成员和函数默认为是私有的。 4.1.3 成员函数的定义 在C++中,定义成员函数可以在类中定义,也可以在类外定义。 如例4-1所示,display()是在类中进行声明并且定义。而GetName()和GetAge()只是在类中有声明,并没有进行定义。这种函数的定义代码如下: 则在Student类中,函数GetName()和GetAge()的定义如下: 4.1.4 类与对象的关系 在现实生活中,每一个实体事物都可以作为一个对象。例如,一部手机、一支铅笔、一本书等。但是有些对象是有着相似性的。 在C++中,将这些有着相似的对象归为一类(class)。类是对象的抽象,而对象是类的实例。在编写程序时,应该先声明一个类,再去实例化若干个同类型的对象。 在一个类中,类的属性指的是类的数据成员,类的行为指的是类的方法。 4.1.5 对象的声明和实例化 类是一个抽象的概念,因此在程序中不能直接引用。而是将其实例化成为对象后,通过这个对象来对类进行相关的操作。对象的声明有3种方法。 1.先声明类类型,后定义对象 这种声明的语法代码如下: 用这种方式为Student类声明对象: 如果想要一次性为某个类声明多个对象,可以用逗号作为分隔符。 2.在声明类的同时声明对象 这种声明的语法代码如下: 用这种方式为Student类声明对象: 如果想要一次性为某个类声明多个对象,可以用逗号作为分隔符。 3.不出现类名,直接声明对象 这种声明的语法代码如下: 如果想要一次性为某个类声明多个对象,可以用逗号作为分隔符。 用这种方式为类声明对象: 在声明对象之后,可以调用类中的方法。例如,stu1为Student类的一个对象,使用该对象对Student类中的数据成员和函数进行调用。代码如下: 4.1.6 构造函数和析构函数 下面介绍C++中两个特殊的函数:构造函数和析构函数。 1.构造函数 当声明一个类的属性时,可以不对其进行初始化,因为在C++中有专门的初始化函数对该属性进行初始化。这个专门用来处理对象的初始化的函数就是构造函数。 构造函数是一种特殊的函数。其作用是在完成对象的初始化的同时,将对象的属性初始化。构造函数不需要用户自己来调用它,在创建对象时,由系统自动调用。定义构造函数的语法代码如下: 4.1.6 构造函数和析构函数 构造函数的特点如下所述。 构造函数名与类名相同。 构造函数不能指

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档