posts - 7, comments - 3, trackbacks - 0, articles - 26

面向对象基本概念的理解-特性篇

Posted on 2009-12-23 17:20 delvin 阅读(92) 评论(0)  编辑  收藏
现在市面上各种教授面向对象的书上都会说面向对象的三大特性: 封装,继承和多态.
这些提法是在面向对象的蛮荒期提出的,从设计模式出来以后,人们对面向对象的理解深入了很多,但我们的教材没有同步跟上,这些名词还在用,但有了些不同的理解. 下面让我们分析面向对象的新发展.

1.封装性(隐藏) => 到底封装了什么?
早期谈封装性,关注点在对数据的封装上,现在国内很多教材也还是停留在这个层次.现在的软件开发界的大师们已经对封装性拓展了很多.封装不仅仅是指封装数据.封装的客体可以是数据,包,变化等等. 也就是说封装X,这个X可以是不同东西。

根据封装客体的不同可以把封装分为:
1) 数据封装=>隐藏数据
2) 包封装=>隐藏包
3) 变化封装=>隐藏变化
4) 实现封装=>隐藏实现
....

2.继承
继承机制确实使面向对象技术拥有了强大的威力。可以提高更高的重用度,可以提供更强的复用能力。但随着面向对象技术的发展,人们渐渐发现继承是一把双刃剑。继承为开发人员带来好处的同时,也引入一些新的问题。掌握好继承是比较困难。
不当使用继承可能带来的问题:
 1) 类体系过于庞大,  类爆炸
  2)继承有时破坏了封装性

3.多态
 能够使用同一种方式引用一个类的不同继承类,并且依据不同的继承类获得不同的行为。

 

只有注册用户登录后才能发表评论。


网站导航: