基于UDP編程博客里的回顯服務器代碼,翻譯服務只需要改process方法即可
所以我們可以創建一個UdpDictServer直接繼承UdpEchoServer然后重寫process方法
在重寫的方法中完成翻譯的過程
代碼:
package network;import java.io.IOException;
import java.net.SocketException;
import java.util.HashMap;
import java.util.Map;public class UdpDictServer extends UdpEchoServer{private Map<String ,String> dict = new HashMap<>();public UdpDictServer(int port) throws SocketException {super(port);//此處可以往這個表里插入幾千幾萬個這樣的英文單詞dict.put("dog", "小狗");dict.put("map", "小貓");dict.put("pig", "小豬");}//重寫process方法,在重寫的方法中完成翻譯的過程//翻譯本質上就是查表public String process(String request){return dict.getOrDefault(request, "該詞在詞典中不存在!");}public static void main(String[] args) throws IOException {UdpDictServer server = new UdpDictServer(9090);server.start();//當前是子類引用調用start,this就是指向子類引用,調用process自然也就會執行到子類的方法}
}