Thinking In Java 对象导论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Thinking In Java 对象导论相关的知识,希望对你有一定的参考价值。

复用的具体实现

    ①代码复用是面向对象程序设计语言所提供的最了不起的优点之一。

       最简单的复用某个类的方法是直接使用这个类的一个对象,此外也可以将那个类的一个对象置于一个新的类中。我们将其称为:创建一个成员对象。

    ②组合

       使用现有的类合成新的类叫组合。动态发生的组合叫聚合。组合被视为“has-a”关系。因为组合更加灵活,在建立新类时应该首先考虑组合。

    ③继承

       通过继承达到以现有的类为基础,复制它然后通过添加和修改这个副本来创建新类。当源类(父类)发生变化时,被修改的副本(子类、导出类或继承类)也会反映出这些变化。

       一个基类包含所有导出类型所有共享的特性和行为。

       当继承现有类型时,也就创造了新的类型。这个新类型不仅包含了现在类型的所有成员(尽管private成员被隐藏并且不可访问),更重要的是它复制了基类的接口。也就是说,所有可以发送给基类对象的消息同时也可以发送给导出类对象。由于通过发送给类的消息的类型是可知类型,所有就意味着导出类与基类拥有相同的类型。

       使基类与导出类产生差异的两种方法:1.直接在导出类中添加方法。2.改变现有基类的方法的行为(在导出类中 覆盖 overriding 基类的那个方法)。

    ④is-a 与 is-like-a

       处理继承的理想方式:纯粹替代(替代原则),导出类和基类是完全相同的类型,具有完全相同的接口,可以用一个导出类对象来完全替代一个基类对象。(is-a)

       但有时必须在导出类型中添加新的接口,这样也就扩展了接口,这个新的类型仍然能够替代基类,但是这种替代不完美,因为基类中无法访问新添加的方法。(is-like-a)

       用替代原则的方式来设计是很好的,但是我们经常必须在导出类的接口中添加新的方法。

    

     

以上是关于Thinking In Java 对象导论的主要内容,如果未能解决你的问题,请参考以下文章

对象导论 Thinking in Java 第一章

《Java编程思想》(Thinking in Java)读书笔记——01对象导论

Java编程思想Thinking in java

Thinking in Java 笔记

thinking in java ----reading note

Thinking in java学习笔记之持有对象总结