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

第7章 类和对象1.ppt

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

1、面向对象程序设计 1、面向对象的基本概念 类是对某一类对象的抽象,而对象是某一种类的实例。因此,类和对象是密切相关的。没有脱离对象的类,当然也没有不依赖于类的对象,类是对现实世界的抽象得到的。 当我们把现实世界分解为一个个的对象,解决现实世界问题的计算机程序也与此相对应,由一个个对象组成,这些程序就称为面向对象的程序,编写面向对象程序的过程就称为面向对象的程序设计(Object-Oriented Programming,简称为OOP)。 2、面向对象程序设计的特点  面向对象程序设计面对的是一个个对象。其中每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。 程序设计者的任务包括: 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。 对一个大型任务来说,面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。 1)封装与信息隐蔽    对一个对象进行封装处理,把它的一部分属性和功能对外界屏蔽,也就是说从外界是看不到的,甚至是不可知的。其好处是大大降低了操作对象的复杂程度。 封装:一是将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。二是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。    这种对外界隐蔽的做法称为信息隐蔽(information hiding)。 信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。 对程序设计而言,封装性使对象内部的实现与外界隔离, 提供了更理想的模块化机制,减少了程序间的相互干扰。 2)继承与重用   类具有层次性,即一个类的上层有父类,下层有子类,一个类继承了父类的某些特性,这种继承具有传递性。继承是一种连接类与类的层次模型,利用现有的类派生出新的类的过程称为类的继承,新类(子类)拥有原有类(父类)的特性,又增加了自身新的特性。设计程序时只需对新增的内容或对原内容修改设计代码,除了共享机制外,继承还有传递机制,即下层的子类可以继承各层父类的全部特性。 3)多态性   如果有几个相似而不完全相同的对象,有时人们要求在向它们发出同一个消息时,它们的反应各不相同,分别执行不同的操作,这就是多态现象。   (在Windows下,用鼠标双击一个文件对象(这就是向对象传送一个消息),如果对象是一个可执行文件,则会执行此程序,如果对象是一个文本文件,则启动文本编辑器并打开该文件。)   多态性(polymorphism)是指: 由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。 面向对象程序设计的特点 面向对象的程序设计是以类和对象为基础的,程序的操作是围绕对象进行的,在此基础上利用了继承机制和多态性等。 面向过程的结构化程序设计中,常用以下公式来表述程序:    程序=算法+数据结构 1、类的定义格式 类的定义格式一般地分为说明部分和实现部分。 说明部分是用来说明该类中的成员,包含数据成员的说明和成 员函数的说明。实现部分是用来对成员函数的定义。 概括说来,说明部分将告诉使用者“干什么”,而实现部 分是告诉使用者“怎么干”。 类的一般定义格式如下: class 类名 {  public: ??? 成员函数或数据成员的说明 private: ??? 数据成员或成员函数的说明 protected: ??? 数据成员或成员函数的说明 }; 各个成员函数的实现 【例7.1】定义一个Clock时钟类 class Clock { public: void init( ); //初始化时间 void update( ); //当改变时间时刷新时间数据 void display( ); //显示时间 private: int hour, minute, second; //时,分,秒 }; //别忘了“}”后面的“;”! 2、定义类时应注意的事项 在说明部分中,class是定义类类型的关键字,Clock是类名,通常用大写字母开始的字符串作为类名。 花括号内是类的说明部分,说明该类包含哪些数据成员和哪些成员函数。类中的数据成员的类型可以是任意的,包含整型、浮点型、字符型、数组、指针和引用等。同时另一个类的对象,可以作该类的成员。当一个类的对象作为这个类的成员时,如果另一个类的定义在后面,需要提前说明。 在类体中不允许对所定义的数据成员进行初始化,因为类的定义只是在创造一个类型而已,而不是在说明“变量”。相当于先设计好一

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档