Scala – 组织单例对象层次结构的正确方法是什么?
发布时间:2020-12-16 09:52:40 所属栏目:安全 来源:网络整理
导读:这是我在 Scala中遇到的一些不会导致 Java出现任何问题的东西.现在我只是不知道在Scala中这样做的正确方法是什么. 问题描述:我有一个Scala对象,它表示一个’抽象’对象.它打算有一个单一的配置文件,但它并不打算用于实际用途,它只是它的儿童单身人士常见的
这是我在
Scala中遇到的一些不会导致
Java出现任何问题的东西.现在我只是不知道在Scala中这样做的正确方法是什么.
问题描述:我有一个Scala对象,它表示一个’抽象’对象.它打算有一个单一的配置文件,但它并不打算用于实际用途,它只是它的儿童单身人士常见的一堆定义.所以相反,我想用它的孩子.所以有一个问题:因为我不能继承对象,是否应该将常见的单例功能实现为类?作为一个抽象类?特质不适合我,因为它不能有构造函数. 解决方法
你真的应该使用一个特质;不需要构造函数(事实上,它们没有任何意义,因为scala对象没有构造函数):
这是共享的特质; needA是您传递给构造函数所需的值.也就是说,特征的功能需要它. trait Common { def needA: A def sharedMethod { /* implement me*/ } } 然后你的模块看起来像这样: object Mod1 extends Common { val needA = { /* implement me*/ } } object Mod2 extends Common { val needA = { /* implement me*/ } } 请注意,它们通过使用val来覆盖def来指定公共功能所需的值 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |