- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VC类与对象.ppt.ppt
类与对象;一个对象的状态(state)用数据域 (data field,也称为数据成员或属性, properties)及它们的当前值来表示。
一个对象的行为(behavior) 由一组函数定义。对一个对象调用一个函数就是请求对象执行一个任务。
例如:一个对象圆有一个数据域-半径radius,它刻画了圆的属性。计算面积是圆的一个行为,可利用函数getArea()来实现。
相同类型的对象用一个通用的类来定义,一个类(class)是一个模板或一个蓝图,它定义了对象具有什么样的数据和函数。一个对象就是类的一个实例(instance),创建一个实例称为实例化(instantiation)。;§1 类的定义;数据成员的封装;定义类时应注意的事项 ;类作用域;class CTime
{
public:
void setTime(int h,int m,int s);
void disp(); //成员函数
private:
int hour,minute,second; //数据成员
};
#include iostream.h
#include Time.h
void CTime::setTime(int h,int m,int s)
{
hour=h;
minute=m;
second=s;
}
void CTime::disp()
{
couthour:minute
: secondendl;
}; 对象;对象的创建;radius;访问对象成员;通过指针访问对象成员 -;例:使用Circle类1;例:使用Circle类2;//ca.h,CA类的声明
class CA
{
public:
int a;
private:
int b;
protected:
int c;
};;程序的运行;成员函数member functions;set 和get函数;/*
class declaration, circle.h
*/
class Circle
{
private:
double radius;
public:
double getArea();
double getRadius();
void setRadius(double);
};
; 构造函数(对象的初始化);构造函数;例:Circle类定义(增加构造函数);构造函数Constructor;类抽象(class abstraction)
就是将类的实现和它的使用分离开来。类的创建者提供了类的描述,使用户了解如何使用类。在类之外可以访问的数据成员和成员函数以及对这些成员的预期行为的描述,一起构成了类的约定(class’s contract)。
类封装(class encapsulation)
类的使用者无需了解类是如何实现的,类实现的细节被封装起来,对用户是隐藏的。
例:一个PC机由很多部件构成,如CPU,CD-ROM,主板等。每个部件可看作一个对象,有自己的属性和功能。为了使这些部件协同工作,我们所需要知道的全部信息就是这些部件如??使用以及如何交互,而无需知道它们内部是如何工作的。部件的内部实现是封装的,对我们来说是隐藏的。在不了解部件如何实现的情况下也能组装出一台计算机。
文档评论(0)