Module模块
类似C#的namespace
功能:
- 将代码放入模块,防止“同名冲突”
- 实现“多继承”(从这个角度看,类似C#的interface接口)
以下两句转自Runoob菜鸟网:
模块常量命名与类常量命名类似,以大写字母开头。方法定义看起来也相似:模块方法定义与类方法定义类似。
通过类方法,您可以在类方法名称前面放置模块名称和一个点号来调用模块方法,您可以使用模块名称和两个冒号来引用一个常量。
".“和”::"的区别
亲测:
"."可以被“::”替代
"::"不可以被“.”替代
"."只可用于“方法”的引用
"::"推荐用于“常量”“类”的引用,但也可以用于“方法”
所以,全部用“::”是安全的
模块实例:(模块里的“常量”,“静态方法”,“实例方法”,“类”的定义和调用)
说明:
静态方法:不用实例化对象,直接以“模块名.方法名”来调用的方法
实例方法:需要实例化对象,才能以“对象.方法名”来调用的方法
module ABC
#【模块的静态方法(def self.方法名)】
def self.全部小写英文字母输出 #【调用】:ABC.全部小写英文字母输出

本文介绍了Ruby中的Module模块,它类似于C#的namespace,用于避免同名冲突和实现多继承。模块包含常量、静态方法和实例方法。点操作符"."通常用于调用模块方法,而双冒号"::"则更适合引用常量和类,且在引用常量和类时两者可以互换,但"::"更安全。文章还探讨了".“和”::“的区别以及如何定义和调用模块内的静态方法、实例方法和类。
&spm=1001.2101.3001.5002&articleId=107777339&d=1&t=3&u=91605960691c417b84efb5845e640e90)
376

被折叠的 条评论
为什么被折叠?



