Переопределить методы класса или класс

Есть ли способ переопределить класс или некоторые его методы без использования типичного наследования? Например:

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 лет.

РЕДАКТИРОВАТЬ:

Я должен был уточнить, что я не могу переименовать класс изthird_party_library вmagical_third_party_library или что-то еще из-за рамочных ограничений.

Для моих целей, возможно ли будет просто добавить функцию в класс? Я думаю, что вы можете сделать это в C # с чем-то под названием "частичный класс. "

Ответы на вопрос(12)

Ваш ответ на вопрос