我应该使用静态嵌套类来表示游戏中的能力吗?

时间:2013-09-10 18:06:19

标签: java oop inheritance composition

我正在制作纸牌游戏,其中各种卡片都可以访问静态定义的功能。我认为没有必要使能力直接可实例化的对象,因为它们的所有字段和方法都是不同的。我的问题是使用静态嵌套类来表示这些能力是一个好主意,还是有更有效的替代方法?

class Ability {
...
    static class Strike {
    ...
    }

    static class Detonate {
    ...
    }

    static class Dodge {
    ...
    }
...
}

2 个答案:

答案 0 :(得分:3)

不,您应该将Ability类扩展为单独的.java个文件。

public class Strike extends Ability
{ ... }
public class Detonate extends Ability
{ ... }
public class Dodge extends Ability
{ ... }

哪些能力应该放在Ability课程中。

答案 1 :(得分:1)

SotiriosDelimanolis的评论应该给你一个提示“罢工 IS 能力”而不是“能力有一个罢工”