猿问

类和模块之间的区别

我来自Java,现在我与Ruby进行了更多合作。

我不熟悉的一种语言功能是module。我想知道a是什么,什么module时候使用a,为什么要使用a而module不是a class


慕容森
浏览 869回答 3
3回答

Smart猫小萌

第一个答案是好的,并给出了一些结构性的答案,但是另一种方法是考虑您在做什么。模块是关于提供可在多个类中使用的方法的-将它们视为“库”(就像在Rails应用程序中看到的那样)。类是关于对象的。模块是关于功能的。例如,身份验证和授权系统就是很好的模块示例。身份验证系统跨多个应用程序级别的类工作(对用户进行身份验证,会话管理身份验证,许多其他类将根据auth状态而有所不同),因此身份验证系统充当共享API。在多个应用程序之间共享方法时,也可以使用模块(同样,这里的库模型很好)。
随时随地看视频慕课网APP

相关分类

Ruby
我要回答