面向对象起源和使用


kernel中使用了很多oo的编程设计。比如vfs。


为什么要使用oo设计呢。


在c语言中,常见有很多switch case

switch 

case a:

 xx

case b:

 xx

case c :

 xx

...


没增加一种case x,就要在很多地方,针对x进行多处的增改。


好了,定义一个抽象的方法, xx回调函数。


在任意地方,凡是要switch case的地方,直接xx->func即可。再也不用switch case了,对任意多/少的情况都能轻松,无痕处理。


这是个不大不小的技巧,往高处说,就是体现了抽象。往低处说,其实也没啥,就一个简化switch case的技巧而已。


就这么简单的一点技巧,被鼓吹,给扩充,硬生生拉成了C++。还有容器,stl什么的。真是吓尿了。所以我觉得好无聊。现实中谁用那么多层抽象啊。


计算机技术是解决实际问题的技术,能抽象到2,3层就不错了。你以为是在玩数学呢,搞个10层抽象还觉得太直观。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值