第7章 类和对象.pptVIP

  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、面向对象程序设计 1、面向对象的基本概念 类是对某一类对象的抽象,而对象是某一种类的实例。因此,类和对象是密切相关的。没有脱离对象的类,当然也没有不依赖于类的对象,类是对现实世界的抽象得到的。 当我们把现实世界分解为一个个的对象,解决现实世界问题的计算机程序也与此相对应,由一个个对象组成,这些程序就称为面向对象的程序,编写面向对象程序的过程就称为面向对象的程序设计(Object-Oriented Programming,简称为OOP)。 2、面向对象程序设计的特点  面向对象程序设计面对的是一个个对象。其中每一组数据都是有特定的用途的,是某种操作的对象。也就是说,一组操作调用一组数据。 程序设计者的任务包括: 一是设计所需的各种类和对象,即决定把哪些数据和操作封装在一起;二是考虑怎样向有关对象发送消息,以完成所需的任务。 对一个大型任务来说,面向对象程序设计方法是十分有效的,它能大大降低程序设计人员的工作难度,减少出错机会。 这种对外界隐蔽的做法称为信息隐蔽(information hiding)。 信息隐蔽还有利于数据安全,防止无关的人了解和修改数据。 对程序设计而言,封装性使对象内部的实现与外界隔离, 提供了更理想的模块化机制,减少了程序间的相互干扰。 面向对象程序设计的特点 面向对象的程序设计是以类和对象为基础的,程序的操作是围绕对象进行的,在此基础上利用了继承机制和多态性等。 面向过程的结构化程序设计中,常用以下公式来表述程序:    程序=算法+数据结构 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是类名,通常用大写字母开始的字符串作为类名。 花括号内是类的说明部分,说明该类包含哪些数据成员和哪些成员函数。类中的数据成员的类型可以是任意的,包含整型、浮点型、字符型、数组、指针和引用等。同时另一个类的对象,可以作该类的成员。当一个类的对象作为这个类的成员时,如果另一个类的定义在后面,需要提前说明。 在类体中不允许对所定义的数据成员进行初始化,因为类的定义只是在创造一个类型而已,而不是在说明“变量”。相当于先设计好一个模具(类),之后才可用模具来生产产品(对象)。 3、类成员函数的实现 类的成员函数是对类内中数据的操作,同时作为外部数据成员的接口,代表了类的对象的行为。这些函数可以定义在类的内部,也可以定义在类体的外部。 在类的内部定义的成员函数叫内联函数,在类的外部定义的成员函数叫外联函数。 在类的外部定义的成员函数需要在函数名的前面加Clock::,称为成员名限定。 其中 “::”称为作用域运算符。 在类体外定义成员函数的格式如下: 返回值的类型 类名::成员函数名(参数表) { 函数体 } 如: void Clock :: display( ) { couthour:minute:secondendl;}? 对象的定义格式如下:?? 类名 对象名表 例如:给上述时钟类定义对象: Clock clockA, clockB; //定义两个对象 Clock *pclockA; //定义对象指针 Clock clockD[5]; //定义对象数组 其中,类名是对象所属的类的名字,即所定义的对象是该类类型的对象。对象名表中可以有一个或多个对象名,多个对象名时用逗号分隔。对象名表中,可以是一般的对象名,还可以是指向对象的指针名或引用名,也可以是对象数组名。本例定义了2个对象、1个对象指针、一个对象数组。 对象成员的表示方法 对象是广义“变量”,一个对象的成员就是该对象所属类所定义的成

文档评论(0)

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

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

1亿VIP精品文档

相关文档