重新定义类方法或类
有没有办法在不使用典型继承的情况下重新定义类或其某些方法?例如:
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';
}
}
这就是我的困境:我更新了一个第三方库,破坏了我的代码。我不想直接修改库,因为将来的更新可能会再次破坏代码。我正在寻找一种无缝的方式来替换类方法。
我发现这个图书馆说它可以做到,但我很谨慎,因为它已经有4年的历史了。
编辑:
我应该澄清,由于框架限制,我无法将类从重命名为 to 或其他任何内容。third_party_library
magical_third_party_library
出于我的目的,是否可以只向类中添加一个函数?我认为你可以在C#中使用一种叫做“分部类”的东西来做到这一点。