有没有办法重新定义一个类或其一些方法而不使用典型的继承?例如:
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#中做一个称为“部分类”的东西。