일반적인 상속을 사용하지 않고 클래스 나 그 메서드 중 일부를 재정의하는 방법이 있습니까? 예 :클래스 메서드 또는 클래스 다시 정의
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 살 때 조심 스럽다.
편집 :
내가magical_third_party_library
또는 때문에 프레임 워크 제한의 무엇에
third_party_library
에서 클래스 이름을 바꿀 수 있다는 것을 명확히해야
.
제 목적을 위해 클래스에 함수를 추가하는 것이 가능합니까? C#에서는 "부분 클래스"라고하는 뭔가를 사용하여이 작업을 수행 할 수 있다고 생각합니다.
PHP는 이것을 지원하지 않습니다. 클래스를 확장하고 다시 사용할 수 있습니다. 그게 다야. 죄송합니다. – Till
원래 버그가있는 클래스의 이름을 바꿀 수 있습니까? buggy_third_party로 이름을 변경하고 클래스를 원래 이름으로 지정하여 직접 확장하십시오. – gnud