그래서이 프로젝트를 진행하고 있으며이를 구조화하는 방법에 문제가 있습니다. 기본적으로 이것은 내가 가지고있는 것입니다.상속 - 하위 클래스를 사용하여 부모 클래스를 구성하는 방법
Main Class instansiates Listener Class.
리스너 클래스는 패킷을 수신합니다.
I packet이 수신되면 Listener 클래스는 Handler 클래스 (실행 가능 클래스)의 새 인스턴스를 만듭니다. 그런 다음 Handler 클래스는 패킷 데이터를 읽고 패킷 유형 (재부팅, 종료 등)을 결정하고 패킷 유형에 필요한 작업을 수행합니다. 내가 원하는 무엇
는 모든 다른 패킷 유형 등 RebootPacket, ShutdownPacket과 서브 클래스를 다음 부모 클래스의 패킷을하고있다
난 그냥 처리기에서 IF 문의 톤을 사용하려고했다 클래스를 사용하여 패킷 클래스의 인스턴스를 만들지 만 (packetType = "reboot", RebootPacket packet = new RebootPacket) 그러나이 작업을 수행하는 더 좋은 방법이 있어야한다고 생각합니다. 이 일을 위해 다형성을 사용하는 방법이 있습니까? 모든 제안을 부탁드립니다.
을 당신은 정말 그냥 문자열이다 "패킷"에 데이터를 공급하고있다 :
귀하의 경우 패킷이 무엇인지 확실하지 않지만 네트워크를 통해 데이터를 전송하고 있다고 생각하십니까? 객체가 올 때 가장 좋은 방법은'instanceof'를 사용하거나 클래스 유형 == 당신이 찾고있는 것을 검사하는 것입니다. –
@VinceEmigh 네트워크를 통해 전송되는 실제 데이터는 글자 그대로입니다. 문자열 ... – user3180103
왜 객체 스트림을 사용하지 않습니까? 그것은 당신이 어쨌든 무엇을하고 싶은지에 대한 것 같습니다. 블로킹 io를 사용한다면,'ObjectOutputStream'은'Serializable'을 구현하는 어떤 객체라도 보낼 수 있습니다. 그렇지 않다면 문자열 값을 확인하여 생성해야하는 것을 확인해야합니다. –