有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

当对象可以以多种方式使用时,java结构化接口

I asked a question关于如何构造一个接口,假设一个对象可以以多种方式使用。给出的答案很好,但并没有真正解决我的主要问题。我决定自己试一试,然后带着一个更清楚的例子/问题回来

以该字符界面为例:

public interface Character {
   void attack(Weapon toAttackwith, Character enemy);
   void reload(Reloadable reload, Replenishitem replenish);
}

public interface Weapon {
    void attack();
}

public interface Reloadable {
    void replenish();
}

和执行:

public final class ReloadableWeapon implements GameItem, Reloadable, Weapon {

    @Override
    public void attack() {}

    @Override
    public void replenish() {}
}

游戏中的武器可以用来攻击敌人,但是,并不是所有的武器都可以重新装载。因此,在我的字符interface中,创建了一个名为reload的方法,并使用某些parameters。重新装填不一定只是指武器,药剂瓶/容器可以重新装填(重新装填,两个不同的词表示相同的行为)

在字符interface中添加重载方法是否被视为代码气味


共 (0) 个答案