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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值