Ruby中模块和类的用法有何不同?

维基

模块与类有什么不同?何时使用模块?我们可以创建模块实例,还是从模块实例继承?

安迪·琼斯(Andy Jones)

这里有很多不同的问题,我也同意其他问题,这确实是您需要从一些基本的Ruby编程源中获得的东西。但是,有一系列答案可以助您一臂之力:

一个模块与一个类有什么不同,

类是制造对象的东西。对象既具有动作又具有状态:即,您可以告诉类的实例执行操作(在方法中),并且它将存储有关自身的信息(在属性中)。

在Ruby中,我们将模块用于一堆事情,主要是:

  • 分组分组
  • 使功能添加到类(混合)。
  • 当我们需要一堆动作但不需要上课时。

什么时候应该使用模块?

您不能自然地使用模块来创建像类一样的对象,并且它并不能像类一样真正地保持状态。因此,如果您想拥有一堆对象,每个对象都具有状态并且可以执行某些操作,则需要一个类,而不是一个模块。

如果不需要这些东西,您可能正在看一个模块。但是Ruby是一种真正的兼容语言-做事情的方法不止一种。

我们可以创建模块实例,还是从模块实例继承?

不。您需要一个课程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby method_missing类和模块中的用法

来自分类Dev

LDT和GDT在Intel x86中的用法有何不同?

来自分类Dev

Ruby中的模块和类

来自分类Dev

类和函数构造函数有何不同

来自分类Dev

STDERR.puts与Ruby中的puts有何不同?

来自分类Dev

Net :: HTTP与在ruby中执行curl有何不同?

来自分类Dev

不同的类变量和用法

来自分类Dev

Java 8模块与OSGi有何不同?

来自分类Dev

/ **和/ *在Grunt中目录导航方面有何不同?

来自分类Dev

haskell中的箭头和函数有何不同?

来自分类Dev

FlinkSQL中GROUP BY和OVER WINDOW有何不同?

来自分类Dev

Rust-内存中的“ String”和“ str”有何不同?

来自分类Dev

Mockito中的Return和toReturn有何不同?

来自分类Dev

haskell中的箭头和函数有何不同?

来自分类Dev

在laravel 5.3中回声({!! ... !!}和{{...}})有何不同?

来自分类Dev

ChartObjects 和 TableRange 中的 beetwin Left 属性有何不同?

来自分类Dev

Ruby模块打印类中的所有方法调用和返回

来自分类Dev

包含可为空字段的 C# 结构与类和纯结构有何不同?

来自分类常见问题

抽象和封装有何不同?

来自分类Dev

Numpy和Matlab的总和有何不同?

来自分类Dev

127.0.0.1、0.0.0.0和localhost有何不同?

来自分类Dev

List和List <String>有何不同?

来自分类Dev

Ruby中的匿名模块和类垃圾回收

来自分类常见问题

什么是数据类,它们与普通类有何不同?

来自分类Dev

Python元类与常规类继承有何不同?

来自分类Dev

在Ruby中查找所有包含Enumerable模块的类

来自分类Dev

获取模块ruby中定义的所有类

来自分类Dev

float的类内静态const初始化与C ++中的int有何不同?

来自分类Dev

根据程序中的内存分配,枚举,结构,联合,类,接口及其之间的关系有何不同

Related 相关文章

热门标签

归档