ruby 元编程 3 重访类

ruby当中类自身也是对象。

看如下代码

puts String.class #Class
puts "hello".class #String

 也就是说类是Class的实例,所以说,类方法就是Class的实例方法。

 

Class都有哪些实例方法呢?

2.0.0-p247 :002 > Class.instance_methods(false)
 => [:allocate, :new, :superclass]

 Class的superclass

2.0.0-p247 :002 > Class.superclass
 => Module 

 Module的superclass

2.0.0-p247 :003 > Module.superclass
 => Object 

所以说,类是Class的对象,Class从Module继承,Moudle是快,可以想象为内存块,所以Class 实际上就是有 => [:allocate, :new, :superclass]三个方法的块。

 对象模型图


ruby 元编程 3 重访类_第1张图片
 

你可能感兴趣的:(Ruby)