《Android游戏开发详解》——第3章,第3.4节多态

    xiaoxiao2024-06-25  118

    本节书摘来自异步社区《Android游戏开发详解》一书中的第3章,第3.4节多态,作者 【美】Jonathan S. Harbour,更多章节内容可以访问云栖社区“异步社区”公众号查看

    3.4 多态Android游戏开发详解你可能会问,为什么我们必须创建一个接口和一个类,来定义一个单个的King类呢?你可能会告诉自己,现在Human接口还真的做不了太多事情,你说的绝对没错。

    使用接口允许我们创建一类对象,但是,在学习多态之前,我们很难意识到这对程序来说意味着什么。

    来看一下如下所示的方法。

    public void feed(Human h) {       System.out.println("Feeding Human!");       h.eat(); }

    该方法可以接受一个单个的Human类型的参数。实际上,它可以接受实现了Human接口的一个类的任何对象实例。这很有用,因为在单个的程序中,我们可能创建多个类,例如,Villain、Professor和SushiChef,而它们都扩展了Human接口。

    这意味着如下所示的示例都能够工作。

    // Elsewhere in same program King kong = new King(); Villain baddie = new Villain(); Professor x = new Professor(); SushiChef chef = new SushiChef(); // Any Human can be fed: feed(kong); // A King is Human feed(baddie); // A Villain is Human feed(x); // A Professor is Human feed(chef); // A SushiChef is Human

    这只是关于多态能够做什么的一个小例子,它是一种有趣的方式,描述了与多种类型的对象交互的一个通用方法。在后面的各章中,我们将以一个更加实用的方式介绍接口和多态。

    最新回复(0)