Java – 创建一个方法数组

前端之家收集整理的这篇文章主要介绍了Java – 创建一个方法数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在设计一个基于文本的冒险游戏学校进步.我将每个“级别”设置为一个类,并将每个可探索区域(节点)作为适当类中的方法.

令人困惑的是从一个节点移动到另一个节点的代码.因为每个节点连接到最多四个其他节点,所以我必须在每个方法中重复一个非常相似的代码块.

我喜欢做的是在每个节点的开头包括一系列方法,如下所示:

public static void zero()
{
    ... adjacentNodes[] = {one(),two(),three(),four()};
}

然后将该数组发送到通用方法,并将其发送到正确的节点:

public static void move(...[] adjacentNodes,int index)
{
    adjacentNodes[index];
}

我简化了我的代码,但这是一般的想法.这可能吗?

解决方法

每当你想到指针到功能时,你都可以通过使用适配器模式(或变体)来转换为Java.这将是这样的:
public class Node {
    ...
    public void goNorth() { ... }
    public void goSouth() { ... }
    public void goEast() { ... }
    public void goWest() { ... }

    interface MoveAction {
        void move();
    }

    private MoveAction[] moveActions = new MoveAction[] {
        new MoveAction() { public void move() { goNorth(); } },new MoveAction() { public void move() { goSouth(); } },new MoveAction() { public void move() { goEast(); } },new MoveAction() { public void move() { goWest(); } },};

    public void move(int index) {
        moveActions[i].move();
    }
}

猜你在找的Java相关文章