首页 > 代码库 > 【java下午茶系列】java三重奏之封装
【java下午茶系列】java三重奏之封装
java中的封装、继承、多态可谓是踏入这一行业的必经之槛,诸多新人在不明就里的情况下将其各种概念背的是滚瓜烂熟。即便是工作多年之后,也不见得能说出个所以然,或许冥冥之中已经写过无数封装的代码,只是近在眼前人不识了。也正是鉴于此,趁着有所心得,螃蟹留个印记,供大家分享与指正。
既然作为一个安全系数很高的编程语言,内部结构及权限分配必然有着独到之处,就像是初来乍到就碰到的private、public、protected,一头雾水,虽然用几分钟时间弄的很明白,但以后的很长时间都是处于混乱状态,直到有一天彻底明白了各自的用途及意义,才不禁很满意的来上一句:擦,原来这么回事!
下面我们就通过一个场景看看封装有什么作用。
生活中我们经常见到各种管道,也经常见到换水管的维修工人,拿着图纸找到位置一阵忙活。水源自哪里他们可以不用关心,怎么能够将新旧管道对接才是手头的任务。而java中的封装也就类似于此,被封装的类或方法等你可以不用关心它是怎么实现的,即便你关心也没有用,能做的就是按它的要求使用它。就像我们按照协议组织了一个报文,就像我们通过一个指令调用了某一个表的数据,所有的实现过程都被掩盖了起来,而我们依然可以通过某些参数调用并返回我们想要的结果,这是不是像极了我们所说的接口?
看看微信开发平台,想想IOS客户端,这都是一些封装的例子。平时我们一谈起封装就会想起private的setter和getter,没错,这是最经典的一种实现,但如果我们的认识只局限于此,是不是真把java当咖啡了?
封装它是一种很美的结构体,它完全可以按照你的意愿来进行编写,如果你设置的权限足够小,它甚至不能生成API接口,javadoc那都是浮云?想想,假如有一个很大很成熟的系统,如果我们想借用它只能通过你封装的这一条路的时候,是不是很酷的感觉?
每当想起明天上班还要签到,对封装的抵触便油然而生。。。
作者专栏:java下午茶
首发地址:http://www.itxxz.com/a/tea/2014/0709/141.html