我来自Java,现在我与Ruby进行了更多合作。我不熟悉的一种语言功能是module。我想知道a是什么,什么module时候使用a,为什么要使用a而module不是a class?
3 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
第一个答案是好的,并给出了一些结构性的答案,但是另一种方法是考虑您在做什么。模块是关于提供可在多个类中使用的方法的-将它们视为“库”(就像在Rails应用程序中看到的那样)。类是关于对象的。模块是关于功能的。
例如,身份验证和授权系统就是很好的模块示例。身份验证系统跨多个应用程序级别的类工作(对用户进行身份验证,会话管理身份验证,许多其他类将根据auth状态而有所不同),因此身份验证系统充当共享API。
在多个应用程序之间共享方法时,也可以使用模块(同样,这里的库模型很好)。
- 3 回答
- 0 关注
- 868 浏览
添加回答
举报
0/150
提交
取消