第6章类与对象NEW详解.ppt

  1. 1、本文档共95页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 类与对象 6.1 面向对象程序设计的基本概念 6.2 类与对象的定义 6.3 对象的初始化 6.4 对象数组与对象指针 6.5 友元 (自学) 6.6 类成员的共享与保护 (自学) 6.7 程序实例;6.1 从面向过程到面向对象 6.1.1 面向对象程序设计的基本概念 1.对象 对象(Object)是客观存在的实体,如某汽车、某学生、某单车等。对象是由数据及对数据进行处理的方法和行为组成的,换言之,对象是具有某种特殊属性(数据)和行为方式(方法)的实体。 每个对象都有其自身的属性和行为。对同一类对象而言其对象的行为是相同的,但每个对象的属性(即状态)却是相对独立的。;2.类 类(Class)是同一类型对象(具有相似行为的对象)的集合和抽象,是面向对象语言必须提供的由用户定义的数据类型,它将具有相同状态、行为和访问机制的多个对象抽象成一个类。定义类之后,属于这种类的一个对象称为类实例或类对象。类代表一般,而类的一个对象代表具体,描述了属于该类型的所有对象的性质。 记住:类是模子,对象是模子生产的零件。;3.消息和方法 消息(Message)就是用来请求对象执行某一处理或回答某些信息的要求,消息统一了数据和控制流。程序的执行是靠对象间消息的传递来完成的。 方法(Method)是类的行为属性的总称,是允许作用于该类对象上的各种操作。一个类可以有多个方法,表示该类所具有的功能和操作,通过对象调用类中的方法就可以改变对象域中变量的值。;4.面向对象的基本特征 (1)类的封装性。 封装性(Encapsulation)是指把对象属性和操作结合在一起,构成独立的单元,用类表示。 封装后,用类定义的对象内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。;(2)类的继承性。 类的继承性(Inheritance)指的是从已有的一个类可以构造新的类,使得新类具有原类的所有特性,并且新类还可以增加一些新的特性。 继承反映的是类与类之间抽象级别的不同,使得程序???计人员可以在已有的类的基础上定义和实现新类,所以有效地支持了软件组件的复用,使得当需要在系统中增加新特征时所需的新代码最少。 ; (3)类的多态性。 对象根据接收的消息而做出动作,同样的消息被不同的对象接收时可导致完全不同的行动,这种现象称为多态性(Polymorphisn)。多态性机制不仅增加了面向对象软件系统的灵活性,进一步减少了信息冗余,而且显著地提高了软件的可重用性和可扩充性。;6.2.1 C++面向对象程序的结构 一个面向对象的C++程序一般由类的声明和类的使用两部分组成。类的使用部分一般由主函数和有关子函数组成。;以下是一个典型的C++程序结构。 #include iostream using namespace std; //类的定义部分 class C { int x,y,z; //类C的数据成员声明 … public: void f(){…}; //类C的成员函数声明,对外接口 … }; //类的使用部分 void main() { C a; //建立一个类C的对象a … a.f(); //给对象a发消息,调用成员函数f() };在C++程序中,程序设计始终围绕“类”展开。通过定义类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。下面看一个具体的例子,直观地了解一下面向对象程序设计方法与结构化程序设计方法的区别。 【例6.1】 类的应用示例。;class number //定义一个number类 { public://定义公有成员 void set(int m, int n) //定义设置数据成员值的函数 { a=m;b=n;} void print() { int i;sum=0; for(i=a;i=b;i++) sum=sum+i; coutsum=sumendl; } private://定义私有数据成员 int a,b; };;void main() { number ob; //建立类number的对象ob ob.set(10,400);//利用ob的对外接口设置ob的成员a,b的值。 ob.

文档评论(0)

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

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

1亿VIP精品文档

相关文档