惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
B
Blog
N
Netflix TechBlog - Medium
量子位
月光博客
月光博客
博客园_首页
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
T
The Blog of Author Tim Ferriss
Hugging Face - Blog
Hugging Face - Blog
雷峰网
雷峰网
M
MIT News - Artificial intelligence
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
腾讯CDC
Engineering at Meta
Engineering at Meta
云风的 BLOG
云风的 BLOG
L
LangChain Blog
GbyAI
GbyAI
IT之家
IT之家
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理

博客园 - 王永庆

java编程思想(3)感悟(9)---控制程序流 - 王永庆 - 博客园 ibatis学习笔记(5) - 王永庆 - 博客园 ibatis学习笔记(4) - 王永庆 - 博客园 ibatis学习笔记(3) - 王永庆 - 博客园 ibatis学习笔记(2) ibatis学习笔记(1) Java编程思想3感悟(8)---一切都是对象 java编程思想3感悟(7)---抽象基类和接口、并发 java编程思想3感悟(5)---复用具体实现和复用接口 java编程思想3感悟(4)---被隐藏的具体实现 java编程思想3感悟(3)---每个对象都提供服务 java编程思想3感悟(2)---每个对象都有一个接口(方法) JSP处理表单的一些经验分享 Java语言异常处理(转载) log4j学习笔记2 Spring控制反转(IoC)的理解 java编程思想3感悟(1)---java的5个特性 bat文件说明 sql学习笔记(二)-----游标的使用
java编程思想3感悟(6)---是一个与像是一个关系和伴随多态的...
王永庆 · 2007-11-22 · via 博客园 - 王永庆

    一个圆形就是一个几何形状,判断是否继承,就是要确定你是否可以用is-a来描述类之间的关系,并使之具有意义。
    有时你必须在导出类型中添加新的接口元素,这样也就扩展了接口并创建了新的类型。这种情况我们可以描述为is-like-a(像是一个)的关系。新类型具有旧类型的借口,但是他还包含其他方法,所以你不能说他们完全相同。
    在处理类型的层次结构时,经常想把一个对象不当做他所属的特定类型来对待,而是将其当作其基类的对象来对待,这使得人们可以编写出不依赖于特定类型的代码。在几何形的例子中,方法操作的都是泛化的形状,所以这些方法都是直接对一个几何形对象发送消息,他们不用担心对象如何处理消息。
    一个面向对象程序肯定会在某处包含向上转型,因为这正是你如何将自己从必须知道确切类型中解放出来的关键。你是一个shape,我知道你可以erase()和draw()你自己,那么去做吧,但是要注意细节的正确性。doStuff()的代码给人印象深刻之处在于,不知何故,总是做了该做的。
    在实际操作中,多态可以让我不用关心某个对象到底是什么具体类型,就可以使用该对象的某些方法,而这些方法通过一个抽象类或者接口来实现。
从下往上看的话,多态实际上是多个对象的抽象,对它们进行通用编码。

posted on 2007-11-22 15:15  王永庆  阅读(476)  评论()    收藏  举报