当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby Class类用法及代码示例


本文简要介绍ruby语言中 Class类 的用法。

扩展任何 Class 以包含 json_creatable? 方法。

Ruby 中的类是 first-class 对象——每个都是类 Class 的一个实例。

通常,您可以使用以下方法创建一个新类:

class Name
 # some code describing the class behavior
end

当一个新类被创建时, Class 类型的对象被初始化并分配给一个全局常量(在本例中为名称)。

当调用Name.new创建新对象时,默认运行 Class 中的 new 方法。这可以通过在 Class 中覆盖 new 来证明:

class Class
  alias old_new new
  def new(*args)
    print "Creating a new ", self.name, "\n"
    old_new(*args)
  end
end

class Name
end

n = Name.new

产生:

Creating a new Name

类、模块和对象是相互关联的。在下图中,垂直箭头表示继承,括号表示元类。所有元类都是类“类”的实例。

                         +---------+             +-...
                         |         |             |
         BasicObject-----|-->(BasicObject)-------|-...
             ^           |         ^             |
             |           |         |             |
          Object---------|----->(Object)---------|-...
             ^           |         ^             |
             |           |         |             |
             +-------+   |         +--------+    |
             |       |   |         |        |    |
             |    Module-|---------|--->(Module)-|-...
             |       ^   |         |        ^    |
             |       |   |         |        |    |
             |     Class-|---------|---->(Class)-|-...
             |       ^   |         |        ^    |
             |       +---+         |        +----+
             |                     |
obj--->OtherClass---------->(OtherClass)-----------...

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Class类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。