您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“Java中如何使用接口實(shí)現(xiàn)火車(chē)票實(shí)例”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Java中如何使用接口實(shí)現(xiàn)火車(chē)票實(shí)例”這篇文章吧。
/** 接口的實(shí)際應(yīng)用: 題目: 兩個(gè)人A,B開(kāi)發(fā)一個(gè)火車(chē)票顯示功能A負(fù)責(zé)客戶(hù)端, B負(fù)責(zé)服務(wù)器端 思路: 1. 抽象出類(lèi): 1.1 客戶(hù)端顯示類(lèi)(Terminal) 1.2 服務(wù)器端服務(wù)類(lèi)(TrainService) 1.3 火車(chē)票(Ticket) 2. 找出類(lèi)關(guān)系: 2.1 客戶(hù)端 調(diào)用 服務(wù)器端 的獲取火車(chē)票信息顯示 TrainService -> Terminal(調(diào)用) 2.2 服務(wù)器端 提供 火車(chē)票信息 給 客戶(hù)端 Ticket->TrainService(多對(duì)1) Ticket -> Terminal(多對(duì)多) 3. 找出類(lèi)屬性: 3.1 Ticket(車(chē)次,出發(fā)地,到達(dá)地,票價(jià)) 3.2 TrainService(火車(chē)站名稱(chēng)) 3.3 Terminal(代售點(diǎn)名稱(chēng)) 4. 找出類(lèi)方法: 4.1 TrainService: 提供火車(chē)票信息 Ticket[] getTickets() 4.2 Terminal: 顯示火車(chē)票信息 display() */import java.util.Scanner;public class ApplyInterface { public static void main(String[] args) { //北京西站火車(chē)票服務(wù)器打開(kāi) TrainService beijingWestService = new BeijingWestTrainService("北京西站"); //北京站火車(chē)票服務(wù)器打開(kāi) TrainService beijingService = new BeijingTrainService("北京站"); //我是北京朝陽(yáng)區(qū)大黃莊的 代售點(diǎn) Terminal t = new Terminal("北京朝陽(yáng)區(qū)大黃莊的 代售點(diǎn)"); Scanner in = new Scanner(System.in); System.out.println("請(qǐng)輸入要查的火車(chē)站代碼 1:北京西站 2:北京站"); int trainId = in.nextInt(); if (trainId == 1) { t.setTrainService(beijingWestService); } if (trainId == 2) { t.setTrainService(beijingService); } //打開(kāi)火車(chē)電腦終端 查看火車(chē)票信息 t.display(); } }class Ticket { private String id;//車(chē)次 private String startCity;//出發(fā)城市 private String endCity;//到達(dá)城市 private float price;//票價(jià) public Ticket(String id, String startCity, String endCity, float price) { this.id = id; this.startCity = startCity; this.endCity = endCity; this.price = price; } public String getId() { return this.id; } public String getStartCity() { return this.startCity; } public String getEndCity() { return this.endCity; } public float getPrice() { return this.price; } }interface TrainService { //A和B約定一個(gè)提供火車(chē)票的方法 public Ticket[] getTickets(); //獲取火車(chē)站名字 public String getName(); }class BeijingWestTrainService implements TrainService { private String name; public BeijingWestTrainService(String name) { this.name = name; } public String getName() { return this.name; } //提供火車(chē)票的實(shí)現(xiàn)方法 public Ticket[] getTickets() { Ticket[] tickets = { new Ticket("T1", "北京", "長(zhǎng)沙", 175f) }; return tickets; } }class BeijingTrainService implements TrainService { private String name; public BeijingTrainService(String name) { this.name = name; } public String getName() { return this.name; } //提供火車(chē)票的實(shí)現(xiàn)方法 public Ticket[] getTickets() { Ticket[] tickets = { new Ticket("T215", "北京", "吉林", 130f) }; return tickets; } }class Terminal { private String proxy;//代售點(diǎn)名稱(chēng) private Ticket[] tickets;// 火車(chē)票引用 private TrainService trainService;// 服務(wù)器接口引用 public Terminal(String proxy) { this.proxy = proxy; } public void setTrainService(TrainService trainService) { this.trainService = trainService; } //顯示火車(chē)票的信息 // 思路: // 1. 首先要從服務(wù)器端 獲取 火車(chē)票信息 // 2. 循環(huán)把火車(chē)票信息顯示在電腦終端上 public void display() { //獲取火車(chē)票信息 tickets = trainService.getTickets(); //輸出火車(chē)票信息 System.out.println(trainService.getName()); System.out.println("車(chē)次------出發(fā)地------到達(dá)地------票價(jià)"); if (tickets != null) { for (int i = 0; i < tickets.length; i++) { System.out.println(tickets[i].getId() + "------" + tickets[i].getStartCity() + "------" + tickets[i].getEndCity() + "------" + tickets[i].getPrice()); } } } }
以上是“Java中如何使用接口實(shí)現(xiàn)火車(chē)票實(shí)例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。