그래서 두 개의 거의 동일한 클래스가 있다고 가정 해 보겠습니다.하지만 주요 차이점이있는 객체를 나타냅니다. 현재이 차이점은 실제로 구현되지 않습니다.Java의 instanceof가 기능적으로 동일한 클래스를 구별 할 수 있습니까?
예를 들어, 하나의 클래스는 MorningShiftWorker
이고, 다른 메소드와 동일한 메소드 및 동일한 생성자가 있으며, 이는 EveningShiftWorker
입니다. 이 두 가지 객체는 수퍼 유형 ShiftWorker
의 목록에 저장됩니다.
논리적으로는이 두 그룹을 분리하는 것이 좋지만 혼합 변수에 변수를 추가하는 대신 instanceof
을 사용하여 ShiftWorker
목록에있는 개체를 확인하면됩니다.
제 질문은 사과와 오렌지를 구분할만큼 똑똑한가요? instanceof
입니까? 이 두 클래스는 현재 모두 이름에서 동일합니다. 그 (것)들에게 말하기 위하여 instanceof
를 위해 이젠 그만은, 또는 나가 이것에 관하여 가야하는 다른 방법 있는가? 자바는
간단히 시도해 보지 않으시겠습니까? – Manu
그들은 두 개의 분리 된 클래스 파일에 정의되어 있습니다. 다른 클래스 파일을 상속하지 않으므로 하나는 다른 인스턴스가 아닙니다. – user902383
심각한 모델링 문제가있는 것 같습니다. 도메인 모델이 적절하게 구성되어 있다면'instanceof'를 사용할 필요가 거의 없습니다. – chrylis