java继承、接口类型和抽象类

kiayqfof  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(307)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

5年前关门了。
改进这个问题
我想创建一个基于robot场景的程序,包括抽象类、接口类型和数组列表。有人能给我一些关于如何创建这个场景的建议吗(通过一个uml图来显示所有东西是如何链接的)。这个场景需要包含一些复杂的方法,但是我不确定作为一个复杂的方法应该做什么,或者在场景中把它们放在哪里。提前谢谢。

bnlyeluc

bnlyeluc1#

编程世界在很大程度上已经从复杂的继承层次结构转移到了组合和依赖注入。我建议您将单片服务分解为小型(1-5种方法)接口。这还有一个额外的好处,单元测试变得轻而易举,因为您可以用mockito或类似的工具来模拟依赖关系。
如:

public interface Walkable {
    void walk(Robot robot, int paces);
}

public interface Talkable {
    void talk(Robot robot, String phrase);
}

public interface Robot {
    void walk(int paces);
    void talk(String phrase);
}

public class RobotImpl implements Robot {
    private final Walkable walkable;
    private final Talkable talkable;

    public RobotImpl(Walkable w, Talkable t) {
        this.walkable = w;
        this.talkable = t;
    }

    public void walk(int paces) {
        walkable.walk(this, paces);
    }

    public void talk(String phrase) {
        talkable.talk(this, phrase);
    }
}

相关问题