案例描述:
网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中。而在送货期间,物流管理人员可以在系统中查看所有物品的物流信息。编写一个模拟物流快递系统的程序,模拟后台系统处理货物的过程.
运行结果:
代码如下:
定义交通工具类:
/**
* 2022/3/23
*/
public abstract class Transportation { // 交通工具类
private String number; // 编号
private String model; // 型号
private String admin; // 运货负责人
public Transportation(String number, String model, String admin) {
this.number = number;
this.model = model;
this.admin = admin;
}
public abstract void transport(); // 运输方法
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getAdmin() {
return admin;
}
public void setAdmin(String admin) {
this.admin = admin;
}
}
定义保养接口:
/**
* 2022/3/23
*/
public interface Careable { // 保养接口
void BaoYang();
}
定义运输车类,继承交通工具类,实现保养接口:
/**
* 2022/3/23
*/
public class truck extends Transportation implements Careable{ // 运输车类
public truck(String number, String model, String admin) {
super(number, model, admin);
}
// 运输方法
@Override
public void transport() {
System.out.println("货物正在运送中~~~~~~");
}
// 保养方法
@Override
public void BaoYang() {
System.out.println("车辆保养完毕!");
}
}
定义GPS类:
/**
* 2022/3/23
*/
public interface GPS { // GPS接口
String zuoBiao(); // 定义获取坐标方法
}
定义手机类实现GPS类:
/**
* 2022/3/23
*/
public class Phone implements GPS{ // 定义手机类实现GPS类
public Phone() {
}
@Override
public String zuoBiao() {
return "588,212";
}
}
定义快递任务类:
/**
* 2022/3/23
*/
public class SendTask { // 快递任务类
private String number; // 快递单号
private double weight; // 货物重量
public SendTask(String number, double weight) {
this.number = number;
this.weight = weight;
}
// 送前准备
public void song(){
System.out.println("订单开始处理,仓库验货中~~~~");
System.out.println("货物重量:" + getWeight() + "kg");
System.out.println("货物检验完毕!");
System.out.println("货物填装完毕!");
System.out.println("正在通知送货人!");
System.out.println("快递单号:" + getNumber());
}
// 发送货物
public void fa(Transportation t , GPS g){
System.out.println("送货人" + t.getAdmin() + "正在驾驶编号为" + t.getNumber() + "的" + t.getModel() + "在运送货物!");
t.transport();
String z = g.zuoBiao();
System.out.println("当前坐标为:" + z);
}
// 送后操作
public void hou(truck t){
System.out.println("货物运送完毕!");
System.out.println("正在开去保养!");
t.BaoYang();
System.out.println("运货人" + t.getAdmin() + "所驾驶的编号为" + t.getNumber() + "的" + t.getModel() + "已归还!");
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
定义测试类:
/**
* 2022/3/23
*/
public class Demo { // 测试类
public static void main(String[] args) {
// 创建快递任务类对象
SendTask st = new SendTask("KS5588567",16.6);
st.song();
System.out.println("======================");
// 创建交通工具对象
truck truck = new truck("119","保时捷","小陈");
// 创建GPS对象
Phone gps = new Phone();
st.fa(truck,gps);
System.out.println("======================");
st.hou(truck);
}
}
版权声明:本文为qq_58652572原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。