Ruby模块2024 年 8 月 29 日 | 阅读 3 分钟 Ruby 模块是方法和常量的集合。模块方法可以是实例方法或模块方法。 实例方法是在包含模块的类中的方法。 模块方法可以在不创建封装对象的情况下调用,而实例方法则不能。 它们类似于类,因为它们包含方法、类定义、常量和其他模块的集合。 它们的定义方式与类类似。 不能使用模块创建对象或子类。 没有模块继承层次结构。 模块基本上有两个用途
语法 模块名称应以大写字母开头。 模块命名空间在编写较大的文件时,会生成许多可重用代码。 这些代码被组织成类,可以插入到文件中。 例如,如果两个人在不同的文件中具有相同的方法名称。 并且两个文件都需要包含在第三个文件中。 那么这可能会造成问题,因为两个包含文件中的方法名称相同。 在这里,模块机制发挥作用。 模块定义了一个命名空间,您可以在其中定义方法和常量,而不会被其他方法和常量覆盖。 示例 假设在 file1.rb 中,我们定义了许多不同类型的图书馆书籍,如小说、恐怖小说等。 在 file2.rb 中,我们定义了已阅读和待阅读的小说数量,包括小说。 在 file3.rb 中,我们需要加载 file1 和 file2 两个文件。 在这里,我们将使用模块机制。 file1.rb file2.rb file3.rb 模块方法通过在其名称前加上模块名称和一个句点来调用,并且您使用模块名称和两个冒号来引用常量。 模块 MixinRuby 不支持多重继承。 模块使用 Ruby 中的 mixin 消除了对多重继承的需求。 模块没有实例,因为它不是一个类。 但是,可以在类中包含一个模块。 在类中包含模块后,该类将可以访问该模块的方法。 示例 在此,模块 Name 包含方法 bella 和 ana。 模块 Job 包含方法 editor 和 writer。 类 Combo 包括两个模块,因此类 Combo 可以访问所有四个方法。 因此,类 Combo 充当 mixin。 混合到类中的模块方法可以是实例方法或类方法。 这取决于你如何将 mixin 添加到类中。 下一个主题Ruby 字符串 |
我们请求您订阅我们的新闻通讯以获取最新更新。