关于以下函数的Java函数

时间:2015-05-18 13:54:13

标签: java methods

昨天我提出了这个问题:Java function on function

寻求帮助并标记为重复但我认为我没有理解我想要的东西,现在我再试一次。

我希望方法只能在方法上调用,例如我们有类Roads,在路上我们会走一条路。

Roads.Way1()

在我们选择Way1后,我们将转到Path1

Roads.Way1().Path1()

但是如果我们选择Way2

Roads.Way2()

我们无法前往Path1()因为Way2()转到Garden1()所以

Roads.Way2().Garden1()

所以我试图说你只能以想要的方式使用方法(函数),我在不同的API或库中看到了这一点。所以为了更好的理解

Way1进入Path1, IS无法进入Garden1

Way2转到Garden1, IS无法转到Path1

那么如何管理我可以创造出具有自己的方式的不同道路,这样我就能做出像

Roads.Way1().
/* 
Goes to: 
Path1()
Fountain()
Market()
*/

并且无法访问它们并且只能使用自己的目的地。

1 个答案:

答案 0 :(得分:3)

我认为你要求的是:我如何表达"控制流程"使用"语言功能"。好吧,有办法到达那里:你需要很多不同的类(或者可能是接口);所以这是一个" Way2"根本就不会提供" Path1"方法

但是:这样做听起来像是糟糕的想法。它最初会正常工作,但是一旦你开始扩展你的系统,你就会遇到所有时间的问题:

"嗯,我需要改变Way2;它现在应该允许去Path1;但是uups;有些Way2-thingies不应该允许Path1;所以我实际上需要一个Way3-thingy"等等。保持这段代码很快就会成为一场噩梦。

我知道,这只是一种意见,但我的直觉是:你正在寻找解决问题的错误方法。相反,你应该花时间确定你的实际问题是什么;然后考虑更好的方法来解决这个问题!