Java每日一点!封装的作用究竟是什么?

面向对象的三大特性之一的封装性,究竟给程序和使用者带来了什么?封装这一概念,不仅限于编程中;在日常的生活中,如果把餐厅看成一个对象,那么你只需要点餐就可以享受美食,而不必在意美食是怎么做出来的,也无法直接知道,可以说是餐厅对厨师工作空间和技艺进行了封装;同样,前往银行取钱,只需要输入密码、递出银行卡,柜员便会将钱取出,而取钱者不必在意密码是如何验证的,钱是怎么取出来的,只需要知道我要取钱,然后递出银行卡输入密码就可以实现,在这个过程中可以看作银行对柜员的工作内容进行了封装并且提供了相应的条件(银行卡、密码)接口来供用户使用。这样看来,封装在极大程度上方便了用户的使用过程,同时保证了类的内部数据的安全。对于面向对象编程中方法来说,方法对算法的实现细节进行了封装,对于该方法只需要传入正确的参数便可以得到想要的结果,这是对封装性的一种体现。同时对于Java这种面向对象程序设计语言中的访问权限修饰符,也是对封装的一种体现。总之,封装隐藏了某些不需要被外接所知的功能的实现细节,使得程序在方便用户使用的同时保证了封装体内部成员以及数据的安全。
