案例介绍:

定义抽象的交通工具类:

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()方法}
}

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

  1. 【java案例】:模拟物流快递系统程序设计

    文档下载链接:https://download.csdn.net/download/oxygen23333/86770543 案例题目:         模拟物流快递系统程序设计(面向对象的程序设计) ...

  2. java作业:模拟物流快递系统程序设计

    模拟物流快递系统程序设计 [案例介绍] 1. 案例描述 网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中.而在送货期间,物流管理人员可 ...

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

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

  4. 【案例4-8】模拟物流快递系统程序设计

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

  5. Java实验6 --模拟物流快递系统程序设计

    前言 时间:2020.6.13 备注:Java实验6任务2.最后一更Java基础实验,明天要计网课设了,有时间再出其他内容滴~ 题目 实现思路 先设计一个Transportation的抽象父类,加载一 ...

  6. 模拟物流快递系统程序设计java_路辉物流设备:大件快递自动分拣系统的模块化设计...

    物流企业运营所需的能源.劳动力.土地价格持续上涨,依赖"高投入.低产出"传统物流运作模式难以为继,面临着降低成本.提高效率.可持续发展的转型要求.快递行业对于新兴的大件快递消费需求 ...

  7. 物流快递系统程序设计

    一.实验目的及要求: 1.学会分析"物流快递系统程序设计"程序任务实现的逻辑思维 2.能够独立完成物流快递系统程序的构思,编写和运行 3.理解类和对象的封装.继承以及多态的使用,并 ...

  8. java实现模拟考试系统,基于jsp的驾照模拟考试系统a-JavaEE实现驾照模拟考试系统a - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的驾照模拟考试系统a, 该项目可用各类java课程设计大作业中, 驾照模拟考试系统a的系统架构分为前后台两部分, 最 ...

  9. 利用JAVA多线程模拟售票系统,对统一资源进行处理

    首先多线程处理统一资源的方式有两种 分别介绍一下两者的区别 synchronized与Lock的区别 1.Lock不是Java语言内置的,synchronized是Java语言的关键字 2.synch ...

最新文章

  1. 最小割 ---- 最大密度子图(最大权值闭合子图)
  2. 猴子管理法则(网络文摘)
  3. 超全!Python获取某一日期是“星期几”的6种方法!
  4. 新版的sublime text 3无法设为默认启动程序
  5. 产品经理装逼词汇大全
  6. 线性表--链式实现方式
  7. 【OpenCV】图像的内存分配与释放以及复制图像
  8. cocos2dx中node的pause函数(lua)
  9. U盘的基础知识介绍量产
  10. linux cat命令详解
  11. APP 兼容性测试是什么?8年测试老鸟告诉你
  12. 【线性代数(12)】线性方程组、方程组解的结构
  13. Unity3d报错及解决办法总结
  14. [计算机基础]浮点数在计算机中的表示
  15. vios映射_以最低要求映射VIOS LUN
  16. Wallpaper Engine壁纸推荐,让程序猿的桌面优美起来
  17. Vue小项目——仿cnode.js社区
  18. 超分辨率技术:Adobe Photoshop与深度神经网络对比
  19. 定积分的性质——积分中值定理
  20. sap crm行业解决方案_培训机构行业crm系统解决方案

热门文章

  1. 红橙黄绿青蓝紫的html代码,红橙黄绿青蓝紫
  2. 造轮子之图片轮播组件(swiper)
  3. php 截取特定字符串
  4. PLC与C语言实现示教器逻辑编辑程序
  5. C# 学习日记-调用Bartender的库进行标签自动打印
  6. 朗强科技:KVM延长器怎么连接?KVM延长器怎么用图解
  7. 子桓说:《权力的游戏》第八季开播,琼恩·雪诺成七国真正的王!
  8. win11无线网卡突然消失,U盘插入很久才会有反应的解决方法
  9. 如何用纯 CSS 创作一个失落的人独自行走的动画
  10. Nginx接入链路监控SkyWalking