C中的封装?

     看“系统程序员成长计划-谁动了你的隐私(上)  ”,其中有个侯捷的观点“学从难处学, 用从易处用”,我的理解是学习的时候要知道怎么做,而且也要知道为什么做,搞清楚原理。使用的时候用最简单、有效、最易理解方法实现,而不要没有必要使用复杂的技巧。在平时开发中遵循一个原则就是不要重复造轮子,但是有时候知道怎么使用轮子,也要知道轮子怎么造出来,当使用轮子有问题才能快速的定位原因。

 

     在文章中提出3个问题“什么是封装?为什么要封装?如何实现封装?”

 

     我的回答: 

  1.    什么是封装?

        程序对外提供接口使用,不把内部处理暴露出来,因为调用者不需要了解内部,也不能让调用者了解和修改内部的数据。(网上的解释:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别.)
  2.   为什么要封装?

       实现调用者对程序的安全访问(对于程序来说)、便捷使用(对于调用者);

        (他的观点:隔离变化,程序内部的变化只要不修改接口,对调用者来说是一样的;降低复杂度,屏蔽内部实现细节,只暴露最小接口,会让系统变得简单,在一定程度降低复杂度。)
     
  3.   如何实现封装?

      面向对象的语言在语言级别上实现了对访问的控(public、private、protect等关键字);C的封装可能只能在设计上实现,好像没有提供语言级别上的访问控制。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值