《Android游戏开发详解》一3.4 多态

    xiaoxiao2024-04-15  113

    本节书摘来异步社区《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

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

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)