有没有办法在不使用典型继承的情况下重新定义类或其某些方法?例如:
class third_party_library {
function buggy_function() {
return 'bad result';
}
function other_functions(){
return 'blah';
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能取代buggy_function()?显然这就是我想做的
class third_party_library redefines third_party_library{
function buggy_function() {
return 'good result';
}
function other_functions(){
return 'blah';
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的两难:我更新了破坏我代码的第三方库.我不想直接修改库,因为将来的更新可能会再次破坏代码.我正在寻找一种无缝的方法来替换类方法.
我发现这个图书馆说它可以做到,但我很谨慎,因为它已经4岁了.
编辑:
我应该澄清一下,由于框架限制,我无法将类重命名third_party_library为magical_third_party_library或其他任何内容.
为了我的目的,是否可以只在类中添加一个函数?我认为你可以用C#做一个叫做"部分类"的东西.