所以我正在這個項目上工作,而且我在如何構造這個問題上遇到了麻煩。基本上,這是我所擁有的:繼承 - 如何構造一個父類與兒童
Main Class instansiates Listener Class。
Listener類偵聽數據包。
當我收到數據包時,Listener類將創建一個Handler類的新實例(它是一個可運行的)。 Handler類然後讀取數據包數據並確定數據包類型(重啓,關機等)並完成它所需要的。
我想要做的,是有一個父類的數據包,然後有子類的所有不同的數據包類型RebootPacket,ShutdownPacket等
我只打算用噸IF語句的處理程序類來創建數據包類的實例(如果packetType =「reboot」,RebootPacket數據包=新的RebootPacket),但是,我覺得應該有更好的方法來做到這一點。我可以如何使用多態性來做到這一點?任何建議表示讚賞。
林不知道什麼是數據包在你的情況下,但即時通訊猜測你通過網絡發送數據?當對象進入時,最好的方法是使用'instanceof'或者檢查類的類型==你在找什麼 –
@VinceEmigh那麼通過網絡發送的實際數據就是文本,就像一串... – user3180103
爲什麼不使用Object流?看起來好像這就是你想要做的反正。如果你使用阻塞io,ObjectOutputStream可以發送任何實現Serializable的對象。如果不是,那麼是的,您需要檢查字符串值以查看您需要創建的內容 –