什么是多态,多态查询又是什么?

在面向对象的范畴中,还存在多态的概念,多态建立在

继承关系的基础上。简单地理解,多态是指当一个 Java应用变量被声明为 Monkey类时,

这个变量实际上既可以引用 JMonkey类的实例,也可以引用 CMonkey类的实例。以下这

段程序代码就体现了多态:

Li st monkeys= bus iness Service . f indAllMonkeys ( ) i

Iterator  it=monkeys.iterator()

while ( it . has Next ( ) ) (

Monkey in= (Monkey ) it . next ( ) i

if (m instance of JM on key)

System.out.println(m.getName(]+11.’( (JMonkey)m). getColor())

else

Sys tern . out . pr intln (m . get Name ( ) + ” ” + ( ( CM on key ) m) . get Length ( ) ) i

BusinessService 类的 findAllMonkeysO方法通过 Hibernate API 从数据中检索出所有

Monkey对象。findAllMonkeys()方法返回的集合既包含 JMonkey类的实例,

这种查询被称为多态查询。以上程序中变量m被声明为 Monkey类型,它实际上

既可能引用IMonkey类的实例,也可能引用 CMonkey类的实例。

此外,从 Team 类到 Monkey类为多态关联,因为 Team 类的 monkeys 集合中

可以包含 JMonkey类和 CMonkey类的实例。从Monkey类到 Team类不是多态关联,

因为 Monkey类的 team属性只会引用 Team类本身的实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值