C++程序设计第八章(第七讲).ppt

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

第3篇  基于对象的程序设计 第8章 类和对象 1. 对象   客观世界中任何一个事物都可以看成一个对象(object)。 对象是构成系统的基本单位。 对象的两个要素:即属性(数据)、方法(函数)   面向对象的程序设计思想实现一个复杂的软件系统时,首要的问题是确定该系统是由哪些对象组成的,并且设计这些对象。   调用对象中的函数就是向该对象传送一个消息(message),要求该对象实现某一行为(功能)。 2. 封装与信息隐蔽   封装指将有关的数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立,互不干扰。信息隐蔽是将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。 3. 抽象   抽象的过程:将有关事物的共性归纳、集中的过程。   抽象的作用:表示同一类事物的本质。 C和C++中的数据类型就是对一批具体的数的抽象。   类是对象的抽象,而对象则是类的特例,也是类的具体表现形式。 4. 继承与重用   设有A类,需要在A类的基础上定义B类,可以让B类继承A类,并在B类中增加一些属性和行为。称为类的继承。   A类称为基类或父类,B类从A类派生出来,称为派生类或子类。 5. 多态性   由继承而产生的相关的不同的类,其对象对同一消息会作出不同的响应。 多态性是面向对象程序设计的一个重要特征,能增加程序的灵活性。 二、 面向对象程序设计的基本思想 三、 面向对象的软件开发 2. 面向对象设计   根据面向对象分析阶段形成的需求模型,对每一部分分别进行具体的设计,首先是进行类的设计。然后以这些类为基础提出程序设计的思路和方法。 3. 面向对象编程   根据面向对象设计的结果,选用面向对象的计算机语言写出程序。 4. 面向对象测试   在写好程序后,必须对程序进行严格的测试。测试的目的是发现程序中的错误并改正它。面向对象测试是用面向对象的方法进行测试,以类作为测试的基本单元。 5. 面向对象维护   因为对象的封装性,修改一个对象对其他对象影响很小。利用面向对象的方法维护程序,大大提高了软件维护的效率。 8.2 类的声明和对象的定义 8.2.1 类和对象的关系   每一个实体都是对象。每个对象都属于一个特定的类型。   在C++中对象的类型称为类(class)。   创建类和类的对象的一般步骤:   (1)声明一个类类型   (2)定义若干个同类型的对象。   说明1:对象就是类类型的一个变量。   说明2:类是抽象的,不占用内存,而对象是具体的,占用存储空间。 8.2.2 声明类类型   类定义的一般形式:    class 类名    { private:     私有的数据和成员函数;      public:     公用的数据和成员函数;     };    说明:   (1)private和public称为成员访问限定符 private 成员只能被本类的成员函数访问;public 成员可以被类内外的函数访问。   (2)如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。 例: class Student   { int num; char name[20]; char sex;   void display( )       {coutnum:numendl; coutname:nameendl; coutsex:sexendl; } }; Student stud1,stud2;   可以看到,类(class)就是对象的类型。实际上,类是一种广义的数据类型。类这种数据类型中的数据既包含数据,也包含操作数据的函数。   不能把类中的全部成员与外界隔离,一般是把数据隐蔽起来,而把成员函数作为对外界的接口。 可以将上面类的声明改为: class Student //声明类类型 { private: //声明以下部分为私有的 int num; char name[20]; char sex; public:   //声明以下部分为公用的 void display( ) {coutnum:numendl; coutname:nameendl; coutsex:sexendl; } }; Student stud1,stud2;

文档评论(0)

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

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

1亿VIP精品文档

相关文档