[案例4-8]模拟物流快递系统程序设计

  • Post author:
  • Post category:其他

案例描述:

网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中。而在送货期间,物流管理人员可以在系统中查看所有物品的物流信息。编写一个模拟物流快递系统的程序,模拟后台系统处理货物的过程.

运行结果:

代码如下:

定义交通工具类:


/**
 * 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 版权协议,转载请附上原文出处链接和本声明。