用于空类参数列表的Scala样式
发布时间:2020-12-16 18:03:13 所属栏目:安全 来源:网络整理
导读:在创建没有类参数的对象时,我很难决定是否应该包含空括号.一个具体的例子:我正在与现有的 Java代码连接,并创建一个实现名为EventResponder的接口的对象.我应该写: val service = new EventResponder() { def respond(message: String): String = { return
在创建没有类参数的对象时,我很难决定是否应该包含空括号.一个具体的例子:我正在与现有的
Java代码连接,并创建一个实现名为EventResponder的接口的对象.我应该写:
val service = new EventResponder() { def respond(message: String): String = { return "" } } 要么 val service = new EventResponder { def respond(message: String): String = { return "" } } (或者,顺便说一句,还有什么我应该改变的吗?) 两者似乎都有效,据我所知,Scala风格指南对此没有任何建议.它讨论了何时为方法或arity-0包含空括号,但这种情况并不完全相同. 解决方法
您可以使用它来区分Java世界中的类(空的parens)和接口(没有parens)或Scala世界中的类(空的parens)和特征(无parens).
您也可以类似于方法,区分具有副作用的实例化(空的parens)和没有(没有parens)的实例.虽然,我想,构造函数理想情况下应该没有副作用… 您还可以区分携带状态/可变(空白的parens)的对象和不可移动的对象(无parens).虽然,然而,这与案例类冲突,这些案例类应该是不可改变的但是不鼓励在这里不使用parens …… 如果可能的话,我个人倾向于把空的括号留下.两个字符少,可读性更强. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |