0

让我写下我所知道的它们之间的一些区别

  1. 模块不能被实例化,而类可以
  2. 可以包含/扩展多个模块,而只能继承一个类

除了上面提到的两个,我看不出它们之间有任何其他区别

  1. 两者都可以有类级变量 (@@)
  2. 两者都可以有类实例级变量(@,直接在模块/类中初始化)
  3. 两者都可以有实例变量(@,在方法内部初始化)
  4. 两者都可以有全局变量($)
  5. 两者都可以具有可以使用它们的名称直接调用的方法(以“self”为前缀)
  6. 两者都可以有内部类
  7. 包含和扩展模块的类可以访问其所有方法(非私有),这与从类继承子类所做的相同

不考虑多重继承,类和模块之间的唯一区别是创建对象吗?

(我在 Ruby 方面没有太多经验,只是想弄清楚类和模块之间的区别。请随时指出我可能遗漏的任何内容)

4

0 回答 0