- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
5类的封装性和信息隐蔽
5.1公用接口与私有实现的分离类中被操作的数据是私有的,实现的细节对用户是隐蔽的,这种实现称为私有实现(privateimplementation)。这种“类的公用接口与私有实现的分离”形成了信息隐蔽。软件工程的一个最基本的原则就是将接口与实现分离,信息隐蔽是软件工程中一个非常重要的概念。它的好处在于:(1)如果想修改或扩充类的功能,只需修改本类中有关的数据成员和与它有关的成员函数,程序中类外的部分可以不必修改。(2)如果在编译时发现类中的数据读写有错,不必检查整个程序,只需检查本类中访问这些数据的少数成员函数。5.2类声明和成员函数定义的分离为了实现信息隐蔽,对类成员函数的定义一般不放在头文件中,而另外放在一个文件中。//student.cpp//在此文件中进行函数的定义#includeiostream#include“student.h”//不要漏写此行,否则编译通不过voidStudent::display()//在类外定义display类函数{cout“num:”numendl; cout“name:”nameendl; cout“sex:”sexendl;}5.3面向对象程序设计中的几个名词类的成员函数在面向对象程序理论中被称为“方法”(method),“方法”是指对数据的操作。一个“方法”对应一种操作。显然,只有被声明为公用的方法(成员函数)才能被对象外界所激活。外界是通过发“消息”来激活有关方法的。所谓“消息”,其实就是一个命令,由程序语句来实现。stud.display();就是向对象stud发出的一个“消息”,通知它执行其中的display“方法”(即display函数)。上面这个语句涉及3个术语:对象、方法和消息。stud是对象,display()是方法,语句“stud.display();”是消息。6类和对象的简单应用举例例:最简单的例子。#includeiostreamusingnamespacestd;classTime//定义Time类{public://数据成员为公用的inthour;intminute;intsec;};intmain(){Timet1;//定义t1为Time类对象cint1.hour;//输入设定的时间cint1.minute;cint1.sec; coutt1.hour“:”t1.minute“:”t1.secendl;return0;}注意:(1)在引用数据成员hour,minute,sec时不要忘记在前面指定对象名。(2)不要错写为类名,如写成Time.hour,Time.minute,Time.sec是不对的。因为类是一种抽象的数据类型,并不是一个实体,也不占存储空间,而对象是实际存在的实体,是占存储空间的,其数据成员是有值的,可以被引用的。(3)如果删去主函数的3个输入语句,即不向这些数据成员赋值,则它们的值是不可预知的。例:引用多个对象的成员。(1)程序(a)#includeiostreamusingnamespacestd;classTime{public:inthour;intminute;intsec;};intmain(){ Timet1;//定义对象t1cint1.hour;//向t1的数据成员输入数据cint1.minute;cint1.sec;coutt1.hour“:”t1.minute“:”t1.secendl;Timet2;//定义对象t2cint2.hour;//向t2的数据成员输入数据cint2.minute;cint2.sec;coutt2.hour“:”t2.minute“:”t2.secendl;return0;}(2)程序(b)#includeiostreamusingnamespacestd;classTime{public:inthour;intminute;intsec;};intmain
您可能关注的文档
- 第5讲-烯烃-二烯烃-(1烯烃同系物).pptx
- 股权融资偏好原因分析.pptx
- 5.3象限角的正负号.ppt
- UEFI启动的简单认识.pptx
- 高级微观经济学--偏好与效用.ppt
- 负面偏好心理.ppt
- 群体行为特征-PPT.ppt
- 5号英语学科课标说教材.ppt
- 克里格方法内插生成高程曲面.ppt
- 第一章-电学性能:能带理论1.pptx
- 2024年05月山东交通职业学院招考聘用博士研究生50人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽芜湖市弋江区老年学校(大学)工作人员特设岗位公开招聘2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东东营河口区教育类事业单位招考聘用22人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东交通职业学院招考聘用100人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东威海职业学院招考聘用高层次人才2人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽石台县事业单位工作人员33人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东滨州市博兴县事业单位公开招聘考察笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月安徽蚌埠固镇县湖沟镇选聘村级后备干部7人笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东省安丘市教育和体育局所属事业单位学校公开2024年招考232名工作人员笔试历年典型题及考点剖析附带答案含详解.docx
- 2024年05月山东临沂临港经济开发区工作人员(5人)笔试历年典型题及考点剖析附带答案含详解.docx
最近下载
- 重庆沙坪坝南开中学初2025届初一下期末数学试卷.pdf
- 2024年首届全国“红旗杯”班组长大赛考试题库必刷必练800题(含答案).doc VIP
- 2024高考语文临门冲刺押题卷二(新高考九省卷)(原卷版)(全国通用).pdf VIP
- 招投标,商务标,技术标,土木工程施工.doc
- 内地居民前往香港或者澳门定居申请表式样.doc
- 2024年支部党纪学习教育学习计划.docx VIP
- 六年级下册语文试题-第一单元字词专项练部编版(含答案).doc
- 2023年广东省广州市中考地理试题卷(含答案解析).docx
- 穴位贴敷疗法操作规范及注意事项课件.pptx
- 红色简约风《你当像鸟飞往你的山》读书分享PPT模板.pptx VIP
文档评论(0)