給定一個父類有沒有辦法在加載時爲每個子類插入代碼?即。Ruby:爲每個子類執行代碼
考慮:ParentClass
,我怎麼插入的代碼如下所示:
class ChildClass < ParentClass
execute_function
...
end
爲ParentClass
所有子類?
給定一個父類有沒有辦法在加載時爲每個子類插入代碼?即。Ruby:爲每個子類執行代碼
考慮:ParentClass
,我怎麼插入的代碼如下所示:
class ChildClass < ParentClass
execute_function
...
end
爲ParentClass
所有子類?
在ParentClass
覆蓋繼承的方法
class ParentClass
def self.inherited(subclass)
execute_function
super
end
...
end
見:如果什麼這些類已經裝載http://ruby-doc.org/core-2.0/Class.html#method-i-inherited
哇...花了這麼多時間尋找這個。爲了安全正確使用'super(子類)'是正確的? – s12chung
你可以但不是必需的。沒有參數的'super'將使用相同的參數調用具有相同名稱的父類中的方法。 – kristenmills
哇。謝謝!我不知道那個:) – s12chung
?這段代碼應該做什麼? –
@SergioTulentsev Err,如果父類未加載,如何加載類? – meagar
@meagar:這是深夜,我問傻問題:) –