C 程序设计基础 第6章 类与对象新.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文档。上传文档
查看更多
第6章 类与对象 6.1 从面向过程到面向对象 6.2 类与对象的定义 6.3 对象的初始化 6.4 对象数组与对象指针 6.5 静态成员 6.6 友元 6.7 常对象和常成员 6.8 程序实例 6.1 从面向过程到面向对象 6.1.1 面向对象程序设计的基本概念 1.对象与方法 对象是指现实世界中具体存在的实体。每一个对象都有自己的属性(包括自己特有的属性和同类对象的共同属性)。属性反映对象自身状态变化,表现为当前的属性值。 方法是用来描述对象动态特征的一个操作序列。消息是用来请求对象执行某一操作或回答某些信息的要求。实际上是一个对象对另一个对象的调用。 2.类 类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。将相似的对象分组形成一个类,每个这样的对象被称为类的一个实例,一个类中的所有对象共享一个公共的定义,尽管它们对属性所赋予的值不同。 3.封装 封装(Encapsulation)是指把对象属性和操作结合在一起,构成独立的单元,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。 4.继承 继承(Inheritance)反映的是类与类之间抽象级别的不同,根据继承与被继承的关系,可分为基类和衍类,基类也称为父类,衍类也称为子类。子类将从父类那里获得所有的属性和方法,并且可以对这些获得的属性和方法加以改造,使之具有自己的特点。一个父类可以派生出若干子类,每个子类都可以通过继承和改造获得自己的一套属性和方法,由此,父类表现出的是共性和一般性,子类表现出的是个性和特性,父类的抽象级别高于子类。继承具有传递性。继承使得程序设计人员可以在已有的类的基础上定义和实现新类,所以有效地支持了软件构件的复用。 5.多态性 不同的对象收到相同的消息产生不同的动作,这种功能称为多态性(Polymorphism)。将多态的概念应用于面向对象程序设计,增强了程序对客观世界的模拟性,使得对象程序具有了更好的可读性,更易于理解,而且显著提高了软件的可复用性和可扩充性。 6.1.2 C++面向对象程序的结构 一个面向对象的C++程序一般由类的声明和类的使用两部分组成。类的使用部分一般由主函数和有关子函数组成。 以下是一个典型的C++程序结构。 #include iostream.h //类的定义部分 class C { int x,y,z; //类C的数据成员声明 … f(){…}; //类C的成员函数声明 … }; //类的使用部分 void main() { C a; //建立一个类C的对象a … a.f(); //给对象a发消息,调用成员函数f() } 在C++程序中,程序设计始终围绕“类”展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。下面看一个具体的例子,直观地了解一下面向对象程序设计方法与结构化程序设计方法的区别。 【例6.1】 类的应用示例。 6.2 类与对象的定义 6.2.1 类的定义 在C++中,一个类指定一个独立的对象集合,该对象集合由组成该类的对象以及这些对象所允许的操作组成。 1.类的定义形式 类定义的一般形式如下: class 类名 { public: 数据成员或成员函数的定义 private: 数据成员或成员函数的定义 protected: 数据成员或成员函数的定义 }; 2.类成员函数的定义 对类的成员函数的定义通常有两种形式,一种是在类的定义中直接定义函数,一种是在类外定义。前面的例6.1就是在类内部实现成员函数,下面再看一个例子。 【例6.2】 已知y=,当f(n)=1×2+2×3+3×4+…+n×(n+1)时,求y的值。 按照类的定义形式,可以在类定义中只给出成员函数的原型,而在类外部定义具体的成员函数。这种成员函数在类外定义的一般形式如下: 函数返回值的类型 类名::函数名(形参表) { …(函数体) } 其中双冒号::是作用域运算符,它指出该函数是属于哪一个类的成员函数。 6.2.2 对象的定义与使用 1.对象的定义 对象的定义形式如下: 类名 对象名表; 其中对象名表代表有多个对象名,各对象名之间以逗号分隔。 2.对象成员引用 具体引用形式为: 对象名.数据成员名 对象名.成员函数名(实参表) 【例6.3】 定义一个时钟类,类中有3个私有数据成员(Hour、Minute和Second)和两个公有成员函数(SetTime和ShowTime)。SetTime根据传递的3个参数为对象设置时间,ShowTime负责将对象表示的时间显示输出。在主函数中,建立一个时间类的对象,先利

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档