【发布时间】:2015-03-29 00:12:38
【问题描述】:
所以我正在用 java 制作一个游戏,并且我的对象都具有 2 种方法; update() 和 render()。
在游戏循环所在的主类中,我必须为每个可更新和可渲染的对象调用 update() 和 render() 方法。
有什么方法可以设置某种形式的接口,我可以在其中调用方法一次,它会在所有实现的对象中调用它?
【问题讨论】:
-
是的。如果您想要默认实现,则称为
interface或abstract class。或者如果您使用 Java 8,则使用两个interfaces 和default方法。 -
为了澄清:您是否希望能够进行单个方法调用,该方法调用将在实现该接口的类对象的每个实例上调用
#update? -
是的,这正是我想要实现的目标。到目前为止,我在其他响应中看到的唯一问题是,如果我要创建一个名为“World”的类和另一个名为“Player”的类,我希望这两个类都有 update() 和 render()方法。如果我在“世界”对象中创建了一些“玩家”对象,然后在我的主“游戏”类中创建了一个“世界”对象,我将如何从“游戏”类中用两个更新“玩家”对象像 objects.update() 和 objects.render() 这样的简单方法调用?
-
你需要使用复合模式。详情请查看here。
标签: java inheritance interface polymorphism