- 1、本文档共139页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 类与对象 C++程序的设计 计算机等级考试.ppt
第四章 类与对象;类与对象;回顾:面向过程的设计方法;回顾:面向过程的设计方法;面向对象的方法;对象;对象的示例;消息传递;类;类和对象的示例;属性;方法;方法的示例;类和对象的区别;抽象;数据抽象;数据抽象的示例;封装;封装的示例 3-1; ;封装的示例 3-3 ;继承与派生;多态性;结构化程序与面向对象程序的比较;方法一:用结构化方法编程,求圆的周长和面积;方法二:用面向对象方法编程,求圆的周长和面积 ;方法二:用面向对象方法编程,求圆的周长和面积 ;方法二:用面向对象方法编程,求圆的周长和面积;类与对象的基本概念 ; 类的引入:
类是一种数据类型。
描述客观事物必须用不同的数据类型来描述不同的方面。如商品:
商品名称(用字符串描述),该商品数量(用整型数描述),该商品单价(用浮点数描述),该商品总价(用浮点数描述)。
这里用了属于三种不同数据类型的四个数据成员(data member)来描述一种商品。;class CGoods{
public :
char Name[21] ;
int Amount ;
float Price ;
float Total_value ;
} ; //最后的分号不可少,这是一条说明语句
关键字class是数据类型说明符,指出下面说明的是类。标识符CGoods是商品这个类的类型名。花括号中是构成类体的系列成员,关键字public是一种访问限定符。;访问限定符(access specifier):
public(公共的)说明的成员能从外部进行访问。
private(私有的)和protected(保护的)说明的成员不能从外部进行访问。
每种说明符可在类体中使用多次。
访问限定符的作用域是从该说明符出现开始到下一个说明符之前或类体结束之前结束。
如果在类体起始点无访问说明符,系统默认定义为私有(private)。
访问限定符private(私有的)和protected(保护的)体现了类具有封装性(Encapsulation)。;;class CGoods{
private :
char Name[21] ;
int Amount ;
float Price ;
float Total_value ;
public :
void RegisterGoods(char[],int,float); //输入数据
void CountTotal( ) ; //计算商品总价值
void GetName(char[]) ; //读取商品名
int GetAmount( ) ; //读取商品数量
float GetPrice( ) ; //读取商品单价
float GetTotal_value( ) ; //读???商品总价值
}; ;封装:
类把数据(事物的属性)和函数(事物的行为——操作)封装为一个整体。
接口:
通常数据成员被说明成私有的,函数成员被说明成公有的;从外部对数据成员进行操作,只能通过公有函数来完成,数据受到了良好的保护,不易受副作用的影响。公有函数集定义了类的接口(interface)。
成员函数可以直接使用类定义中的任一成员,可以处理数据成员,也可调用函数成员。
注意:
类是一种数据类型,定义时系统不为类分配存储空间,所以不能对类的数据成员初始化。类中的任何数据成员也不能使用关键字extern、auto或register限定其存储类型。 ; 通常在类定义中,成员函数仅作声明。函数定义通常在类的说明之后进行,其格式如下:
返回值类型 类名::函数名(参数表)
{……}//函数体
其中运算符“::”称为作用域解析运算符(scope resolution operator),它指出该函数是属于哪一个类的成员函数。
;类CGoods函数的定义;定义对象:
对象是类的实例(instance)。定义一种数据类型只是告诉编译系统该数据类型的构造,并没有预定内存。类只是一个样板,以此样板可以在内存中开辟出同样结构的实例——对象。格式如下:
CGoods Car;
这个定义创建了CGoods类的一个对象Car,同时为它分配了属于它自己的存储块,用来存放数据和对这些数据实施操作的成员函数(代码)。对象只在定义它的域中有效。;对象存储: ;图4.2 各对象的代码区共用的方案;内联函数:
使用关键字inline,系统自动采用内联扩展方法实现,每个对象都有该函数一份独立的代码。
如RegisterGoods()函数可定义为:
i
您可能关注的文档
- 第四章 巡航控制系统 汽车车身电子技术知识 .ppt
- 第四章 市场营与销环境 市场营与销学教案.ppt
- 第四章 市场营销 企业相关管理.ppt
- 第四章 市场营销与企业文化 沟通与控制 相关管理学基础 .ppt
- 第四章 常用救护技术知识 《急重症护理学》课件.ppt
- 第四章 常用试验设计及其分析基本方法 园艺研究法 .ppt
- 第四章 幼儿园游戏环境的创设 《学前儿童游戏和 与指导》课件.ppt
- 第四章 幼儿园领域教育活动的设计与指导《幼儿园教育活动的设计与指导》 课件.ppt
- 第四章 广告和 与社会美 实用广告美学教案讲义.ppt
- 第四章 形状和位置公差与检测 互换性与技术知识测量 .ppt
- 2022-2023学年江苏省常州市溧阳市四年级下学期期中数学真题及答案.pdf
- 2022-2023学年江苏盐城建湖县五年级上册语文期末试卷及答案.pdf
- 2021-2022学年河南省卫辉市人教版三年级上册期末考试数学试卷及答案.pdf
- 2022-2023学年浙江杭州萧山区五年级下册语文期中试卷及答案.pdf
- 2022-2023学年江苏省淮安市二年级下学期数学月考试题及答案.pdf
- 2021年山西公务员申论考试真题及答案-乡镇.pdf
- 2021年普通话考试内容题库最新版.pdf
- 2021-2022年江苏苏州太仓市六年级上册期中语文试卷及答案(部编版).pdf
- 2022-2023学年山东省滨州市博兴县四年级下学期期末数学真题及答案.pdf
- 2021年四川内江小升初语文真题及答案.pdf
文档评论(0)