2013-02-23 77 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