» Ruby快速入门 » 2. 高级篇 » 2.2 模块

模块

模块是一种将方法、类和常量封装到单独的命名空间中的方式。 模块提供了两个主要的好处:充当可复用代码的容器,并通过一种称为“mixins”的机制实现多重继承。

module Greetings
  def say_hello
    puts "Hello!"
  end

  def say_goodbye
    puts "Goodbye!"
  end
end

class Person
  include Greetings  # 使用include关键字将Greetings模块 mixin 以使用其方法

  attr_accessor :name

  def initialize(name)
    @name = name
  end
end

# 创建Person类的实例
person = Person.new("John")

# 使用Greetings模块的方法
person.say_hello # => Hello!
person.say_goodbye # => Goodbye!

Person 类使用 include 关键字将 Greetings 模块作为 minxin 包含进来。

模块经常用于在类之间共享功能而不使用传统的继承。它允许你将相关的方法组合在一起并在多个类中包含它们。

代码挑战

创建一个名为 ShapeMixin 的模块,它提供了计算不同形状的面积和周长的方法。 在两个类 RectangleCircle 中包含此模块,以强制其实现这些方法。

Loading...
> 此处输出代码运行结果
上页
下页