网站大量收购独家精品文档,联系QQ:2885784924

c++语言程序设计教学课件作者赵海廷第8章.ppt

c++语言程序设计教学课件作者赵海廷第8章.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 8 章 类与对象 8.1 面向对象程序设计 8.2 类和对象 8.3 构造函数和析构函数 8.4 类的静态成员 8.5 友元 8.6 常类型 8.7 指向对象的指针、this 指针和指向类成员指针 8.1 面向对象程序设计 8.1.1面向对象方法是一种认知方法 人们认识事物的过程有如下两种方法。 其一是从一般到特殊的演绎方法。以学校为例,最初人们看到“学校”这样一个词,在对其进行分类的过程中,不断理解这个词的含义,进而知道学校有大学、中学和小学之分。再进一步分类,又知道大学可分为综合性大学、理、工、农、医和文科大学等。在不断分类到一定程度之后,用面向对象的方法,就是对各类对象进行状态描述和功能定义,以明确这一类对象所能完成的工作。然后就是让这一类对象运转起来,也就是使各个对象建立联系,使用继承和类比方法进行状态转换,完成它们应有的功能。对于学校这一系统,就是建立各教学保障单位与各教学单位的联系,教师与学生的联系,从而使这个教学系统正常运转起来。 返回 下一页 8.1 面向对象程序设计 其二是从特殊到一般的归纳方法。我们今天看到的一只黑猫,它是一个对象,明天又看到一只白猫,它也是一个对象,这两个对象除了毛的颜色不同外,其他有关猫的特征完全一样。这样我们可以构造一个猫类,其中描述猫所具有的共同特征,比如:会叫,具有犬齿,嗅觉灵敏,毛具有一定的颜色,会捉老鼠等。而具体的黑猫与白猫都是猫类的一个实例。因此,面向对象方法很适合人们的认知方式。 面向对象方法提供了从一般到特殊的演绎手段,又提供了从特殊到一般的归纳方法。这种分类、归纳的方法在面向对象程序设计技术中是非常有用的,是一种很好的认知方法。 返回 下一页 上一页 8.1 面向对象程序设计 8.1.2面向对象程序设计的特点 1.对象 从面向对象这个名词可以看出,对象是理解面向对象程序设计的关键。放眼四望,你可以看到许多现实世界中存在的物体即对象, 而软件的对象(物体)是现实世界物体的模型,它也具有状态和行为。一个软件对象使用变量代表其状态,通过方法(过程)实现其行为。我们可以这样定义对象:对象(Object)就是现实世界中某个具体物理实体在计算机逻辑中的映射和体现。 返回 下一页 上一页 8.1 面向对象程序设计 2.消息 一个单独的对象一般来说没有什么用处,它常常作为一个大型程序或应用程序中的一个元件出现,该程序包含了许多其他的对象。通过这些对象的相互作用,编程人员可以制作更多高层次的功能和更复杂的行为。消息(Message)是一个对象向其他对象发请求执行某个操作的信息,是对象间进行联系或交互的手段。 软件对象之间通过发送消息进行交互和通信。当对象A希望对象B去执行某个方法时,对象A就向对象B发送一个消息。有时候,接收消息的对象还需要更多的信息,以便知道到底要做些什么。 返回 下一页 上一页 8.1 面向对象程序设计 3.类 为了能够应用计算机处理来自现实世界的事物,人们必须提取出事物的本质特性,即忽略问题中与当前目的无关的方面,以便更充分地集中与当前目的有关的方面,这种方法就是抽象。抽象有两种:一种是过程抽象,另一种是数据抽象。过程抽象就是“功能或子功能”抽象。数据抽象就是根据应用于该对象的操作来定义数据类型,而这些对象的值只能通过这些操作来修改或观察。在现实世界中,往往会发现属于同一类型的许多对象。 返回 下一页 上一页 8.1 面向对象程序设计 4.继承 类的继承(Inheritance)就是新的类从已有类那里“获得”已有的状态和行为。从另一角度来看这个问题,已有类产生新类的过程就是类的派生。已有的类称之为父类或基类,新产生的类称为子类或派生类。 返回 下一页 上一页 8.1 面向对象程序设计 5.多态性 多态性(Polymorphism)就是一个名字,多种语义,或是相同的界面,多种实现。用户在编程时,关心的应该是功能块的功能及其使用的界面,并不需要了解到底是用哪一种方法实现的。也就是说,在设计这一级上,软件设计人员只关心“施加在对象上的动作是什么”,而不涉及“如何实现这个动作”。在面向对象程序设计语言中,重载表达了简单的多态性,使用较多的是方法的重载。方法重载是多个方法具有相同的方法名字,但是其方法参数的个数或参数的类型不相同。 返回 上一页 8.2类和对象 8.2.1类的说明 类是一种用户自定义的数据类型,其定义格式为: class类名称 {public:公有数据成员和成员函数; protected:保护数据成员和成员函数; private:私有数据成员和成员函数;}; 各个成员函数的实现 其中,class是定义类的关键字。类名称是一个标识符,用于唯一标识一个类。一对大括号内是

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档