【Java案例】模拟物流快递系统程序设计

案例介绍:

 

 定义抽象的交通工具类:

abstract class Transportation{//定义抽象的Transportation类
    private String number;//交通工具的编号
    private String model;//交通工具的型号
    private String carrier;//交通工具的货运人
    public Transportation()
    {
        super();
    }
    public Transportation(String number,String model,String carrier)
    {
        this.number=number;
        this.model=model;
        this.carrier=carrier;
    }
    public String getNumber()
    {
        return number;
    }
    public String getModel()
    {
        return model;
    }
    public String getCarrier()
    {
        return carrier;
    }

    abstract void transport();//定义抽象的运输方法
}

定义交通工具保养的接口:

interface Maintainable//定义Maintainable接口
{
    public void maintenance();//定义抽象方法
}

定义卡车类,继承交通工具类、实现保养接口:

class Truck extends Transportation implements Maintainable//定义Truck类,该类继承Transportation类,并实现Maintainable接口
{
    public Truck()
    {
        super();
    }
    public Truck(String number,String model,String carrier)
    {
        super(number, model, carrier);//调父类中的元素
    }
    public void transport()
    {
        System.out.println("运输中......");
    }
    public void maintenance()
    {
        System.out.println("货物运输车辆保养完毕");
    }
}

定义GPS接口:

interface GPS//定义GPS接口,包含定位功能
{
        public String showCoordinate();
}

定义设备类,实现GPS接口:

class Phone implements GPS//定义Phone类,并实现GPS接口
{
    public String showCoordinate() {
        String location="193°45,48°5";
        return location;
    }
}

定义快递类:

class Delivery//定义Delivery类
{
    private String deliveryID;//快递单号
    private double weight;//货物重量
    public Delivery(String deliveryID,double weight)
    {
        this.deliveryID=deliveryID;
        this.weight=weight;
    }
    public String getDeliveryID()
    {
        return deliveryID;
    }
    public double getWeight(){
        return weight;
    }

    public void sendBefore()//sendBefore(),货物发送前
    {
        System.out.println("订单开始处理,仓库验货中......");
        System.out.println("货物重量:"+getWeight()+"kg");
        System.out.println("货物检验完毕");
        System.out.println("货物填装完毕");
        System.out.println("货运人已通知");
        System.out.println("快递单号:"+getDeliveryID());
     }
     public void send(Transportation t,GPS g)//send(t,g)方法,货物发送途中
     {
        System.out.println("货运人"+t.getCarrier()+"正在驾驶编号为"+t.getNumber()+"的"+t.getModel()+"发送货物");
        t.transport();
        System.out.println("货物当前的坐标为:"+g.showCoordinate());
     }
     public void sendAfter(Transportation t)//sendAfter(t)方法,货物送达后
     {
        System.out.println("货物运输任务已完成!");
        System.out.println("货运人"+t.getCarrier()+"所驾驶的编号为"+t.getNumber()+"的"+t.getModel()+"已归还");
     }
}

定义测试类:

public class test {
    public static void main(String[] args){
        Delivery del=new Delivery("HYX600235",763.8);//创建Delivery类的实例对象
        del.sendBefore();//调用Delivery类的sendBefore()方法
        System.out.println("========================================");
        Truck car=new Truck("Z025","沃尔玛","小韩");//创建Truck类的实例对象
        Phone p=new Phone();//创建Phone类的实例对象
        del.send(car,p);//调用Delivery类的send()方法
        System.out.println("========================================");
        del.sendAfter(car);//调用Delivery类的sendAfter()方法
        car.maintenance();//调用Truck类的maintenance()方法
    }
}

完整代码:

abstract class Transportation{//定义抽象的Transportation类
    private String number;//交通工具的编号
    private String model;//交通工具的型号
    private String carrier;//交通工具的货运人
    public Transportation()
    {
        super();
    }
    public Transportation(String number,String model,String carrier)
    {
        this.number=number;
        this.model=model;
        this.carrier=carrier;
    }
    public String getNumber()
    {
        return number;
    }
    public String getModel()
    {
        return model;
    }
    public String getCarrier()
    {
        return carrier;
    }

    abstract void transport();//定义抽象的运输方法
}

interface Maintainable//定义Maintainable接口
{
    public void maintenance();//定义抽象方法
}

class Truck extends Transportation implements Maintainable//定义Truck类,该类继承Transportation类,并实现Maintainable接口
{
    public Truck()
    {
        super();
    }
    public Truck(String number,String model,String carrier)
    {
        super(number, model, carrier);//调父类中的元素
    }
    public void transport()
    {
        System.out.println("运输中......");
    }
    public void maintenance()
    {
        System.out.println("货物运输车辆保养完毕");
    }
}

interface GPS//定义GPS接口,包含定位功能
{
        public String showCoordinate();
}

class Phone implements GPS//定义Phone类,并实现GPS接口
{
    public String showCoordinate() {
        String location="193°45,48°5";
        return location;
    }
}

class Delivery//定义Delivery类
{
    private String deliveryID;//快递单号
    private double weight;//货物重量
    public Delivery(String deliveryID,double weight)
    {
        this.deliveryID=deliveryID;
        this.weight=weight;
    }
    public String getDeliveryID()
    {
        return deliveryID;
    }
    public double getWeight(){
        return weight;
    }

    public void sendBefore()//sendBefore(),货物发送前
    {
        System.out.println("订单开始处理,仓库验货中......");
        System.out.println("货物重量:"+getWeight()+"kg");
        System.out.println("货物检验完毕");
        System.out.println("货物填装完毕");
        System.out.println("货运人已通知");
        System.out.println("快递单号:"+getDeliveryID());
     }
     public void send(Transportation t,GPS g)//send(t,g)方法,货物发送途中
     {
        System.out.println("货运人"+t.getCarrier()+"正在驾驶编号为"+t.getNumber()+"的"+t.getModel()+"发送货物");
        t.transport();
        System.out.println("货物当前的坐标为:"+g.showCoordinate());
     }
     public void sendAfter(Transportation t)//sendAfter(t)方法,货物送达后
     {
        System.out.println("货物运输任务已完成!");
        System.out.println("货运人"+t.getCarrier()+"所驾驶的编号为"+t.getNumber()+"的"+t.getModel()+"已归还");
     }
}
//定义测试类
public class test {
    public static void main(String[] args){
        Delivery del=new Delivery("HYX600235",763.8);//创建Delivery类的实例对象
        del.sendBefore();//调用Delivery类的sendBefore()方法
        System.out.println("========================================");
        Truck car=new Truck("Z025","沃尔玛","小韩");//创建Truck类的实例对象
        Phone p=new Phone();//创建Phone类的实例对象
        del.send(car,p);//调用Delivery类的send()方法
        System.out.println("========================================");
        del.sendAfter(car);//调用Delivery类的sendAfter()方法
        car.maintenance();//调用Truck类的maintenance()方法
    }
}

  • 15
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值