这三个词如果从编程语言的角度来讲,没有多大的意义。要软件根本上来讲,如何重用啊,外部如何看待内部以及在运行时如何处理抽象与实现的关系。
软件实现为了达到应对变化,提高复用。
继承的本质是提高重用,但是继承不是重用的唯一方法,还有组合这个非常重要的方法。
继承从语言层面来讲可以简单理解为 class A : class B,组合才是提高重用的关键,现在很多的商业上不都是要整合啊,实际就是组合的一种显示表述,自己不实际去做,但是掌握着关键的东西(核心竞争力)。那具体的上来讲,我们的软件外包不就是组合的一种现实表述吗,发达国家设计软件,而把软件的具体编码交给别的国家。
封装是一种机制,就是对象的外部看到是的对象是一个统一的整体,从语言层面上讲就是那些关键字啊。真正要掌握的是如何封装,如何确定哪些东西要封装,多态可以简单理解为一个抽象有很多具体实现。 那么在运行期间就需要动态决定采用哪种具体实现。
最后要真正把握软件的变化,复杂度以及如何重用才是根本,面向对象对软件来讲只是一种方法手段。
|
|