광범위하게 사용하고 메서드에서 반환하는 클래스가 있다고 가정 해 봅니다.수퍼 클래스의 인스턴스 인 객체에서 하위 클래스의 메서드 사용
CommonClass obj = getCommonObject();
이제 반복적 인 반복을 피하기 위해이 클래스를 확장하여 유틸리티 메서드를 만들려고합니다.
public CommonClassPlus extends CommonClass {
public String dontRepeatYourself() {
// the reason I'm creating a subclass
}
}
물론 위의 방법으로 개선 된 클래스를 사용하고 싶지만 다운 캐스팅은 허용되지 않습니다.
CommonClassPlus obj = getCommonObject();
//Cannot cast to CommonClassPlus
I는 슈퍼 클래스의 인스턴스 인 객체로 작업 할 수 있다면이 방법
dontRepeatYourself()
사용 방법
?
CommonClass
및 getCommonObject()
은 외부 라이브러리에서 가져온 것으로, 변경할 수 없습니다.
PLS는 getCommonObject의 된 구현/선언을 보여준다(). – mreiterer