부모 인터페이스의 객체를 반환하는 Java 메소드가 있다고 가정 해 보겠습니다. 이 함수가 반환하는 객체의 클래스는 문서화되어 있지 않지만 부모 인터페이스를 모두 확장 한 풍부하고 잘 문서화 된 인터페이스 계층 구조가 있습니다. 그래서 예를 들면 :Java 인터페이스에서 Clojure Multimethod 디스패치
(defmulti place-setting class)
(defmethod place-setting Omelet [meal] ...)
: 내가 아는 (및 안정성에 확신) 기본 객체 경우
public class Person {
public IMeal favoriteMeal() { ... }
}
public interface IBreakfast extends IMeal { ... }
public interface ILunch extends IMeal { ... }
public interface IBrunch extends IBreakfast, ILunch { ... }
는, 그 메소드에 의해 반환되는 다양한 개체에 파견하는 multimethod를 작성할 수 그러나 공용 인터페이스 만 있기 때문에 필자는 해당 인터페이스를 공개 할 것입니다. 인터페이스를 파견하는 좋은 방법이 있습니까? 아마도 같은 :
(defmulti place-setting magic-interface-dispatch-fn)
(defmethod place-setting IBreakfast [meal] ...)
Welp, 이제 나는 바보처럼 느껴진다. 'isa? '부분을 설명해 주셔서 감사합니다. 그것이 제가 놓친 부분이었습니다. – user12341234