ruby - ruby 中的类和模块

标签 ruby class module

你能告诉我我们应该在哪里使用模块和类吗?我的意思是 Ruby 中模块的可用性和适用性原则是什么?

最佳答案

模块是方法和常量的集合。他们不能生成实例。类可以生成实例(对象),并具有每个实例的状态(实例变量)。 模块可以混合到类和其他模块中。混入模块的常量和方法混合到该类自己的常量和方法中,增强了该类的功能。然而,类不能混入任何东西中。 一个类可以继承自另一个类,但不能继承自模块。 模块不能继承任何东西。 -- Ruby FAQ

类是可靠的抽象,只有重要的东西,模块是可以为我提供信息或服务的容器,而且可以是保持奇异性的地方。例如,我们可以将害羞的人分类,而胆小是这种分类的一个特征。 ShyPeople 可能是一个类,而 Timidity 可能是 ShyPeople 类中包含的一个模块。

'重要的是什么?','是模块的方法还是类的方法?'或者“它是一个类还是一个模块?”这些问题只有经验和 RL 的类比才能帮助您。有关更多详细信息,我建议您阅读和编码 :)

关于ruby - ruby 中的类和模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11543700/

相关文章:

php - 在 PHP 中扩展一个类

javascript - 使用 typescript 导入外部javascript的最佳方法

ruby-on-rails - 使用递归(二进制转换器)在 Ruby 中将 base-10 转换为 base-2

ruby - 以编程方式访问 Resque 失败作业队列

c++ - 在类中声明对象的数组大小

.net - C#。检查 Type 是否为 .NET Framework,而不是我自己的类型

ruby-on-rails - 在包含在类中的模块中使用 define_method?

ruby - 为什么 Ruby 需要所有相似的属性来进行排序?

build - 如何重建已下载的已编辑 perl6 模块?

Python 模块 vs 子模块 vs 包 vs 子包