不同类别的方法相互使用的好习惯是什么?

时间:2013-09-11 07:58:39

标签: java

对不起问题标题。我很难说这些。我甚至不知道你怎么称呼我在做什么。 我感谢编辑。
请看看我的例子。
我喜欢第一个例子,它是一行中的简单调用。另请注意:GoodJokeGenerator使用BasicJokeGenerator 。分裂的原因是,课程已经很长了 第二个示例允许您独立于GoodJokeGenerator#generate()测试BasicJokeGenerator并感觉更清洁。

class JokePrinter{
    printJoke(){
        System.out.println(GoodJokeGenerator.generate(String topic));
    }
}

class GoodJokeGenerator{
    String generate(String topic){
        String joke = BasicJokeGenerator.generate(topic);
        // ... some logic to make it really good
        return joke;
    }
}

OR

class JokePrinter{
    printJoke(){
        String basicJoke = BasicJokeGenerator.generate(topic);
        System.out.println(GoodJokeGenerator.generate(String basicJoke));
    }
}

class GoodJokeGenerator{
    String generate(String joke){
        // ... some logic to make it really good
        return joke;
    }
}

2 个答案:

答案 0 :(得分:4)

好吧,我肯定会使用接口继承,这两个是OOP(面向对象编程)中非常强大的工具,你应该知道它们

pastebin

答案 1 :(得分:1)

    class JokePrinter{
        printJoke(){
            GoodJokeGenerator joke = new GoodJokeGenerator();
            String newJoke = joke.generate();
            System.out.println(newJoke);
        }
    }

class GoodJokeGenerator extends BasicJokeGenerator{
    String generate(String joke){
        String basicjoke = super.generate(joke);
        // ... add some spice to basic joke 
        String newJoke = basicJoke + addedSomeLogicalSpice;
        return newJoke;
    }
}

我会以这种方式实施。