有什麼方法可以在不使用典型繼承的情況下重新定義類或其某些方法?例如:重新定義類方法或類
class third_party_library {
function buggy_function() {
return 'bad result';
}
function other_functions(){
return 'blah';
}
}
我該怎麼做才能取代buggy_function()
?顯然這是我想要做的
class third_party_library redefines third_party_library{
function buggy_function() {
return 'good result';
}
function other_functions(){
return 'blah';
}
}
這是我的確切困境:我更新了第三方庫,打破了我的代碼。我不想直接修改庫,因爲未來的更新可能會再次破壞代碼。我正在尋找一種無縫的方式來替換類方法。
我發現這library,它說可以做到這一點,但我很警惕,因爲它是4歲。
編輯:
我應該澄清,我不能從third_party_library
類重命名爲magical_third_party_library
或其他任何東西,因爲框架的限制。
對於我的目的,是否有可能只爲該類添加一個函數?我認爲你可以在C#中使用稱爲「部分類」的東西來做到這一點。
PHP不支持。您可以擴展課程並重新使用它。這就對了。抱歉。 – Till 2008-09-26 00:48:12
你可以重新命名原車類嗎?將它重命名爲buggy_third_party,然後自行發佈它,爲您的課程命名。 – gnud 2008-12-07 13:16:04