建站必读
网站建设知识
网站推广研究
网络营销与策划
网站案例评析
网络安全知识
ASP技术
PHP技术
JSP技术
.NET技术
当前位置:
首页
->
建站必读
->
.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 腾达网络 版权所有
粤ICP备 05018777号