2013-02-23 78 views

回答

2

是的!

class Object 
    def self.inherited(base) 
    puts "#{base} inherited from object" 
    end 
end 

class Animal 
end 

class Cat < Animal 
end 

运行上述代码打印如下:

Animal inherited from object 
Cat inherited from object 

基本上,只要一个类定义了从它上定义的类继承的self.inherited回调被触发。把它放在Object这就是任何类! (虽然可能有一些特殊情况例外,但我现在无法想到)。

我应该加上一个免责声明,虽然可以这样做(因为Ruby是一种语言),但是否建议这样做,特别是在用于生产用途的代码中,米不太确定。其实,我确定。这将是一个坏主意。

+0

为什么downvote? – Russell 2013-02-23 15:00:59

+0

在您的回答中编辑您的热门评论。 – Linuxios 2013-02-26 02:38:07