- 1、本文档共65页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 数据抽象--类
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
本章内容
面向对象基本思想
类和对象
对象的初始化和消亡前处理
const成员
static成员
友元
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
什么是面向对象程序设计
面向对象程序设计是指:
把程序构造成由若干对象组成,每个对象由一些数据以及对这些数据所能实施的操作构成;
对数据的操作是通过向包含数据的对象发送消息(调用对象的操作)来实现;
对象的特征(数据与操作)由相应的类来描述;
一个类所描述的对象特征可以从其它的类获得(继承)。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
为什么要面向对象?
过程式程序设计
以功能为中心,强调功能(过程)抽象。
实现了操作的封装,但数据是公开的,数据与对数据的操作分离,数据缺乏保护。
功能易变,程序维护困难。
功能往往针对某个程序而设计,这使得程序功能难以复用。
基于功能分解的解题方式与问题空间缺乏对应。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
面向对象程序设计
以数据为中心,强调数据抽象。
数据与操作合而为一,实现了数据的封装,加强了数据的保护。
对象相对稳定,有利于程序维护。
对象往往具有通用性,使得程序容易复用。
基于对象/类的解题方式与问题空间有很好的对应。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
例1 下列描述中不正确的是
A 类是对象的抽象类型
B 对象是类的具体实例
C 一个类只能有一个对象
D 类和对象的关系是一种数据类型与变量的关系
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
C++类的定义
对象构成了面向对象程序的基本计算单位,而对象的特征则由相应的类来描述。
类是一种用户自定义类型,定义形式如下:
class 类名 { 成员描述 } ;
其中,类的成员包括:
数据成员(成员变量)
成员函数
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
class Date
{ public:
void set(int y, int m, int d) //成员函数
{ year = y;
month = m;
day = d;
}
bool is_leap_year() //成员函数
{ return (year%4 == 0 year%100 != 0) ||
(year%400==0);
}
void print() //成员函数
{ cout year . month . day;
}
private:
int year,month,day; //数据成员
};
例:日期类的定义
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
数据成员
类定义中的数据成员描述了类的对象所包含的数据的类型,数据成员的说明格式与非成员数据的声明格式相同,例如:
class Date //类定义
{ ......
文档评论(0)