我得到的编码是,您基本上提供了一个“object SomeClass”和一个“class SomeClass”,并且伴随类是类声明,而对象是单例 http://en.wikipedia.org/wiki/Singleton_pattern。您无法创建其中的实例。所以......我的问题主要是在这个特定实例中单例对象的目的。
这基本上只是在 Scala 中提供类方法的一种方式吗?喜欢+
基于方法Objective-C http://en.wikipedia.org/wiki/Objective-C?
我正在读Scala 编程 https://rads.stackoverflow.com/amzn/click/com/0981531644本书和第 4 章只讨论了单例对象,但没有详细说明为什么这很重要。
我意识到我可能有点超前了,稍后可能会更详细地解释。如果是这样,请告诉我。到目前为止,这本书相当不错,但它有很多“在 Java 中,你这样做”,但我的 Java 经验太少了,所以我有点错过了一些我担心的要点。我不希望这成为其中一种情况。
我不记得在任何地方读过Scala 编程 website http://booksites.artima.com/programming_in_scalaJava 是阅读本书的先决条件......
是的,伴随单例提供了与 Java(以及 C++、C# 等)静态方法等效的方法。
(事实上,为了 Java 互操作性,伴随对象方法是通过“静态转发器”公开的)
然而,单例远远超出了这个范围。
- 单例可以从其他类/特征继承方法,这是静态无法完成的。
- 单例可以作为参数传递(也许通过继承的接口)
- 单例可以存在于周围类或方法的范围内,就像 Java 可以有内部类一样
- 还值得注意的是,单例不一定是伴生类,定义单例而不定义伴生类是完全有效的。
这有助于使 Scala 成为一种比 Java 更加面向对象的语言(静态方法不属于object)。具有讽刺意味的是,考虑到它主要是根据其功能凭证进行讨论的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)