让我写下我所知道的它们之间的一些区别
- 模块不能被实例化,而类可以
- 可以包含/扩展多个模块,而只能继承一个类
除了上面提到的两个,我看不出它们之间有任何其他区别
- 两者都可以有类级变量 (@@)
- 两者都可以有类实例级变量(@,直接在模块/类中初始化)
- 两者都可以有实例变量(@,在方法内部初始化)
- 两者都可以有全局变量($)
- 两者都可以具有可以使用它们的名称直接调用的方法(以“self”为前缀)
- 两者都可以有内部类
- 包含和扩展模块的类可以访问其所有方法(非私有),这与从类继承子类所做的相同
不考虑多重继承,类和模块之间的唯一区别是创建对象吗?
(我在 Ruby 方面没有太多经验,只是想弄清楚类和模块之间的区别。请随时指出我可能遗漏的任何内容)