日期:2011-03-22 16:17:00 来源:本站整理
java的上溯造型[Java编程]
本文“java的上溯造型[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
担当最值得注意的地方就是它没有为新类供应办法.担当是对新类和底子类之间的关系的一种表达.可这样总结该关系:“新类属于现有类的一种范例”.
这种表达并不但仅是对担当的一种形象化注释,担当是直接由语言供应支持的.作为一个例子,大家可考虑一个名为Instrument的底子类,它用于表示乐器;另一个衍生类叫作Wind.由于担当意味着底子类的全部办法亦可在衍生出来的类中利用,所以我们发给底子类的任何消息亦可发给衍生类.若Instrument类有一个play()办法,则Wind设备也会有这个办法.这意味着我们能必定地认为一个Wind对象也是Instrument的一种范例.下面这个例子揭暴露编译器若何供应对这一概念的支持:
这个例子中最风趣的无疑是tune()办法,它能承受一个Instrument句柄.但在Wind.main()中,tune()办法是通过为其赋予一个Wind句柄来调用的.由于Java对范例查抄分外严峻,所以大家大概会感到很奇特,为什么接纳一种范例的办法也能接纳另一种范例呢?但是,我们一定要熟习到一个Wind对象也是一个Instrument对象.并且关于不在Wind中的一个Instrument(乐器),没有办法可以由tune()调用.在tune()中,代码实用于Instrument以及从Instrument衍生出来的任何东西.在这里,我们将从一个Wind句柄转换成一个Instrument句柄的行为叫作“上溯造型”.//: Wind.java // Inheritance & upcasting import java.util.*; class Instrument { public void play() {} static void tune(Instrument i) { // ... i.play(); } } // Wind objects are instruments // because they have the same interface: class Wind extends Instrument { public static void main(String[] args) { Wind flute = new Wind(); Instrument.tune(flute); // Upcasting } } ///:~
以上是“java的上溯造型[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
- ·上一篇文章:什么是上溯造型(java)
- ·下一篇文章:<b>递增开辟</b>
- ·中查找“java的上溯造型”更多相关内容
- ·中查找“java的上溯造型”更多相关内容
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论