微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Singleton类-ruby vs Java

据我所知,这些是在JavaRuby中使用单例类的方式

>在Java中,单例类是只能存在一个实例的类.
>在Ruby中,单例类是充当对象与其原始类之间的缓冲区的类,以便保存该特定对象的自定义方法(单例方法)(通过扩展意味着单例类在该对象上将只有一个对象).最大值)

综上所述,ruby中的单例类与Java中的单例类相同,不同之处在于可以容纳自定义方法.我是否理解正确,或者我在这里错过了什么?

@R_502_5620@:

您在技术上是正确的,但是我认为您没有提到很大的不同.

在Java中,您要实现单例类.换句话说,它是一个design pattern,通常仅在特定情况下使用(请参阅示例链接).单例模式也被广泛认为是一个坏主意,因此在Java中最好避免使用单例类.

在Ruby中,单例类是每个Object都隐含的东西.它始终存在,但仅在程序员希望基于每个实例进行类级更改时才使用(例如添加方法).它仅在一个实例的意义上类似于Java. Ruby中的Singleton类非常方便,并且与元编程一起使用时会非常强大.

当然,您也可以在Ruby中实现单例模式,但是当Rubyist说“单例类”时,它们总是引用每个Object的隐式祖先.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐