Java - 计算派生

时间:2017-05-13 22:35:29

标签: java oop design-patterns

我已经准备好了这次OOP()练习,我实际上只是处理一项看似简单的任务:

  

编写一个层次结构,表示由sums,products,constant和(唯一)变量组成的算术表达式。使复合可访问并写一个,给定一个表达式,返回它的衍生物   最后,编写一个函数MyApp,它生成一个表示函数2(x^2)-3 的对象(我认为它隐含意味着y=2(x^2)-3,Ed。) 并计算他的衍生物。

可以从问题中省略最后一部分(MyApp创建)。

所以我的基本知识告诉我创建一个可以由多个类实现的接口“Expression”:Sum,Product,Constant,Variable。

然后我需要创建一个接口“Visitor”,它将由多个访问者类实现:SumVisitor,ProductVisitor,ConstantVisitor,VariableVisitor,它们计算每个表达式的派生并将其作为Expression返回。

如果我想这样做,我还必须通过创建 accept(Visitor visitor) 方法使复合可访问,但这是我被卡住的地方,因为我无法理解它好吧(在哪里放置方法?必须使用它?等等)。

我已经用Google搜索过了,但是我不能将我发现的复合访问者应用于此练习。

这是作业,只是为了更好地理解模式而想要解决的练习,如果我想通过考试,我真的需要这样做。

希望你能给我一些提示(或者你的个人解决方案,我不介意)。

谢谢。

0 个答案:

没有答案