例如(来自真实生活视图也许有点笨拙,但只是为了说明):我可以定义一个没有公共构造函数的类,并将这个类对象的工厂方法放在Scala中的另一个类中吗?
“用户”是情况下,包含的用户名和id类。 Id不能手动设置,而没有设置id的User类实例没有意义。
一个UserBase类维护用户基,并有一个返回一致User实例的“getUser(name:String):User”方法。
除了UserBase对象之外,没有人可以知道(可以,但真的不应该依赖此知识)用户的ID,因此手动构建User实例是没有意义的(并且可能会导致将来出现错误有人不小心硬编码并忘记)。此外,有一个孤儿用户实例没有跟踪UserBase也是不受欢迎的。
因此,任务是调用UserBase.getUser获取User实例的唯一方法。
这可以在Scala中实现吗?
这个问题现在已经老了,你应该接受其中的一个答案。或者编辑它以提供更多信息,如果您没有得到您希望的答案。 – 2010-11-06 11:39:44