对不起问题标题。我很难说这些。我甚至不知道你怎么称呼我在做什么。 我感谢编辑。
请看看我的例子。
我喜欢第一个例子,它是一行中的简单调用。另请注意: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;
}
}
答案 0 :(得分:4)
好吧,我肯定会使用接口和继承,这两个是OOP(面向对象编程)中非常强大的工具,你应该知道它们
答案 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;
}
}
我会以这种方式实施。