帮我写一个Java火车票订票系统代码
时间: 2024-09-14 15:17:25 浏览: 69
构建一个简单的Java火车票订票系统涉及到设计几个关键组件,如乘客、车次和订单。这里是一个基本的简化版示例,仅包含一些核心类和简单方法:
```java
// 客户类(乘客)
public class Passenger {
private String name;
public Passenger(String name) {
this.name = name;
}
// 获取名字的方法
public String getName() {
return name;
}
// 买票方法
public void buyTicket(Ticket ticket) {
System.out.println(name + "购买了" + ticket);
}
}
// 火车票类
public abstract class Ticket {
protected String trainNo;
public Ticket(String trainNo) {
this.trainNo = trainNo;
}
public abstract void checkAvailability();
}
// 具体的火车票类(例如高铁票和普通硬座票)
public class HighSpeedTicket extends Ticket {
public HighSpeedTicket(String trainNo) {
super(trainNo);
}
@Override
public void checkAvailability() {
System.out.println("高铁" + trainNo + "还有座位");
}
}
public class OrdinaryHardSeatTicket extends Ticket {
public OrdinaryHardSeatTicket(String trainNo) {
super(trainNo);
}
@Override
public void checkAvailability() {
System.out.println("普通硬座" + trainNo + "还有座位");
}
}
// 主函数演示
public class Main {
public static void main(String[] args) {
Passenger passenger = new Passenger("张三");
HighSpeedTicket highSpeedTicket = new HighSpeedTicket("G101");
OrdinaryHardSeatTicket ordinaryTicket = new OrdinaryHardSeatTicket("D212");
// 检查票是否可用
highSpeedTicket.checkAvailability();
ordinaryTicket.checkAvailability();
// 购票
passenger.buyTicket(highSpeedTicket); // 高速列车购票
passenger.buyTicket(ordinaryTicket); // 普通硬座购票
}
}
```
这个例子展示了如何使用抽象类和继承来创建基础的火车票类型,并让乘客可以购买任意类型的票。实际应用中,还需要考虑数据库操作、错误处理等复杂功能。
阅读全文