ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
芥子须弥----封装(转)
芥子须弥



                  ----封装



作者:HolyFire



说起面向对象OOP首先就有人大喊着封装



究竟封装是什么呢,为什么要封装?



是的,本来并没有封装,封装是由于人们的需要才产生的,就如同计算机来到人间,编程语言进入你的大脑,自然而然。



在没有封装的时候,人们一样在编程,并没有因为封装的出现使得猿猴变成了人,所以封装没有那么神秘,可怕。



想象一下,我们生活里也有很多封装:食品被放在袋子里,用来防止混入灰尘和昆虫侵蚀;戴上太阳镜,防止紫外线伤害眼睛;钱和贵重物品放在保险柜里,防止心术不正的人。



好了,我们看出一点,封装的一个作用是保护我们的东西。



在生活中,有很多惯例,这里要提到一点,那就永真式,这是一个表示在无论什么情况下都为真的式子,当然这是一种理想的情况,但人们往往喜欢创造这样的东西,就象“水往低处流” 。牛顿说“由于地球引力,所以苹果是往地上掉的”幸亏有这样的道理,我们才有水喝,有苹果吃。当然了在地球上很难找出反例,所以我们无需考虑苹果飞上天的可能性。又如人的听觉范围是2kHZ~~20kHZ,如果有人说地球上会有一个人的听觉超出这个范围,我一点异议都没有,但是我还是把人的听觉作为2kHZ~~20kHZ来处理,应为概率论上有一句,小概率的事是不会发生的,我不打算证实他,我只是想利用他,我只处理2kHZ~~20kHZ的听觉范围,在绝大多数领域里,这样做足够了,让在这方面有特别要求的人挣扎去吧,少处理这些个别的人会带来更多的好处。



我们又能发觉到,封装的好处能降低复杂度。



我想没有人会愚蠢到将一只羊和一只牛相加,得到两只羊或两只牛这样的结果,但是两只动物这样的结果却是可以接受的。



这样看来,封装他能够降低出错的可能性。



封装所做的远远不是这些。



等等,各位心中是不是充满了疑惑。



讲了这么久,为什么不说明封装到底是什么呢,文中并没有提到啊。



聪明的朋友,封装并不是什么东西,也不是什么方法,他是人们考虑和解决问题的思路,他就是你的思想,就是你的灵感一闪,就是你的锦囊妙计。封装就是人们为了更好的管理和使用事物的方案,它可以让你更方便,更安全的做你想做的事,长久以来,充满智慧的杰出者们摸索出一些使用封装来解决问题的办法。



在编程的应用上,我们看看封装给我们带来的好处吧。



由于计算机里,一些都数字化了,所以信息都是存放在很多很多的存储单元里的,由于硬件的限制,这些存储单元都有确实的大小。



首先我们来谈谈保护我们的数据不被随便访问,这正是我提到的。



比如说一个员工可以看到自己的工资,但如果他能够修改的话,只怕人人都想去这个公司工作了。修改工资的数据,万万不行,万万不行,但是如果人人都不能修改工资这一数据,那也不行啊,财会需要修改关于工资的数据。



这里我使用面向对象开发而设计的C++语言来实现他,因为他是为面向对象设计的,所以实现起来比较方便。没学过C++的人先要看一看基本概念,至少要理解private,public,protected,friend等关键字的概念。



我们来理解一下我们要做的事,公司里有很多人,人人都有工资,一些是员工,员工用工号来区别,一些是财会,而财会也是员工,员工能察看工资,而财会还能修改工资。



我们有三个角色,人,员工,财会,要做两件事,员工察看工资,财会修改工资,然后理清他们的关系



人有姓名,年龄,性别 这三样是我们需要处理的,我们要做的是处理工资,一些无关的信息就可以省略,习惯上每个部门都需要人的这三个信息



人 = { 姓名 , 年龄 , 性别 }



员工是人,财会是人,财会是员工,员工有工资,为了区别员工每个员工有工号



员工察看工资,财会修改工资



员工 =  { 人 , 工资 ,工号 , 察看工资 }



财会 =  { 员工 , 修改工资 }



//下面三句代码是使用标准函数库,可以节省我们很多功夫,方便我们理解我们要理解的,略过繁枝小节



#include <iostream>            



#include <string>



using namespace std;



class Man{



public:



       enum SexType { Mele , Female };              //枚举类型,性别只有男女两种,这里不考虑人妖,如果输入不是这样种类型,编译器会报警。类型转换中如果不是者两个值,也会报警,这样我们减少了误输入引起的错误。



private:   //变量不能乱操作,设定为私有,只有类的成员函数才能操作,起到保护作用



 &nbs
 
 
本站关键词:
|东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页||东莞主机托管|东莞画册设计|东莞包装设计|东莞产品目录设计|东莞产品推广策划|东莞VI设计|东莞企业形像设计|东莞产品包装设计|东莞海报设计|东莞PHP主机|东莞动态空间|东莞动态网页|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有