第三章 类和对象(一).ppt

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

第三章 类和对象(一); 类构成了实现C++面向对象程序设计的基础,在C++面向对象程序设计中占据着核心地位。对象把数据和作用在这些数据上的操作组合在一起,是封装的基本单元。对象是类的实例,类定义了属于该类的所有对象的共同特性。 从一般意义上讲,对象(Object)是现实世界中的客观事物。类是把具有相同属性的事物划分为一类,从而得出的抽象概念。类是一组性质相同的对象的程序描述,它由概括了一组对象共同性质的数据和函数组成。 面向对象的程序设计中最基本的概念是对象,一般意义上的对象指的是一个实体的实例,在这个实体中包括了特定的数据和对这些数据进行操作的函数。对象的核心概念就是通常所说的“封装性”(encapsulation)、“继承性”(inheritance)和“多态性”(polymorphism)。 ;§3.1 类的构成; C语言中的结构存在一些缺点。例如,一旦建立了一个结构变量,就可以在结构体外直 接修改数据。可见,在C结构 中的数据是很不安全的,C结构无法对数据进行保护和权限控制。C结构中的数据与对这些 数据进行的操作是分离的,没有把这些相关的数据和操作(通常用函数实现)构成一个整体 进行封装,因此使程序的复杂性很难控制,维护数据和处理数据要化费很大的精力,使传统 程序难以重用,严重影响了软件的生产效库。 在C++中,引入了类的概念,它能克服C结构的这些缺点。C++语言中的类将数据和与 之相关的函数封装在一起,形成一个整体,具有良好的外部接口,可以防止数据未经授权的 访问,提供了模块间的独立性。;类的构成 类的构成:类名、数据成员与成员函数 按访问权限分为:三类(public,private与protected) 类的定义 class类名{ [private]: 私有数据成员和成员函数; pulbic: 公有数据成员和成员函数; protected: 保护数据成员和成员函数; }; ;其中,class是定义类的关键字。类名是一个标识符,用于惟一标识一个类。一对大括号内是类的说明部分,说明该类的所有成员。上面的结构改写为类的形式为: class Date{ public: void setDate(int y,int m,int d); void showDate(); private: int year; int month; int day; }; 声明了一个类Date,封装了有关数据和对这些数据操作,分别称为类Date的数据成员和成员函数 ;;§3.2 成员函数的声明;;说明: 在所定义的成员函数名之间缀上类名,在类名和函数名之间应加上分隔符“::”; 在定义成员函数时,对函数所带的参数,不但要说明它的类型,还要指出其参数名; 在定义成员函数时,其返回类型一定要与函数原型中声明的返回类型匹配;成员函数定义在类的内部,即定义为内置函数。其也有两种定义类的内置函数: 隐式定义,就是直接将函数定义在类的内部 显示定义,就是将其成员函数的定义定义在类的外部,但在成员函数定义前加上关键词“inline”,使其起到内置函数的作用 如 ;;§3.3 对象的定义及引用;对象中成员的访问 对象对对象成员的引用,引用格式: 对象名.数据成员或对象名.成员函数(实参表) #includeiostream.h class Coord{ private: int x,y; public: void setpoint(int a,int b) { x=a;y=b;} int getx() { return x;} int gety() { return y;} }; ;;指向对象的指针的成员表示如下: 对象指针名-成员名 或者 对象指针名-成员名(参数表) 前者用于表示数据成员,后者用于表示成员函数。这里的“-”是一个表示成员的运算符,它与前面介绍过的“.”运算符的区别是:“-”用来表示指向对象的指针的成员,而“.”用来表示一般对象的成员。 对于数据成员和成员函数,以下两种表示方式是等价的: 对象指针名-成员名 与 (*对象指针名).成员名 如接上例:Coord *op; op-setpoint(1,2)与(*op).setpoi

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档