有什么方法可以在不使用典型继承的情况下重新定义类或其某些方法?例如:重新定义类方法或类
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