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

    技术2022-05-19  23

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

    继承关系的基础上。简单地理解,多态是指当一个 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类本身的实例。


    最新回复(0)