PHP 응용 프로그램을 작성했는데 PHP에서 좋은 방법으로 해결할 수없는 문제가 있습니다. 그래서 Ruby 나 Python으로 옮기는 것을 생각하고 있습니다. 전에 사용하지 못했던 두 언어입니다. 지금까지이 문제를 루비에서 해결할 수 있다는 것을 알았습니다. 파이썬에서도이 문제를 해결할 수 있을지 궁금합니다.파이썬에서 프로토 타입 지향적 기능?
응용 프로그램의 핵심 부분에는 확장하려는 클래스 A가 있습니다. 메소드 doFoo에 의해 A를 확장하는 확장 기능 E1와, doBar 메소드에 의해 A를 확장하는 확장 기능 E2가 1 개 있습니다. 이제 A, E1 또는 E2 코드를 변경하지 않고 두 확장을 모두 사용하려고합니다. PHP에서 이것은 A를 확장하는 클래스 B를 제공하고 E1과 E2에서 형질 또는 다른 더러운 속임수를 섞어서 세 번째 확장자 인 E3을 작성하여 보관할 수 있습니다. 하지만 핵심을 가지고이 두 확장을 사용하고 모든 정보를 함께 넣는 __call()을 사용하지 않고 더 이상 클래스를 사용할 필요가없이 "확장 E1 및 E2 사용"에 대한 정보를 갖고 싶습니다.).
파이썬에서는 가능합니까? 런타임에 변경 될 수있는 프로토 타입이 필요하지 않습니다. A의 모든 인스턴스에는 doFoo 및 doBar가 있어야합니다.
편집 :이 모든 것은이 (E1없이) 만 E2로 모두 확장을, (E2없이) E1 전용으로, 확장없이 작동합니다.
잘 모르겠습니다. 간단한 상속을 사용할 수없는 이유는 무엇입니까? – mgilson
아, 잊어 버렸습니다. E1은 E2 없이도 사용할 수 있어야하며 E2도 E2없이 사용할 수 있어야합니다. 고맙습니다. – stofl
@stofl : "E1"이라는 뜻인가요? – gahooa