一、类的设计

类图如下:

在这个类图中,有两个接口Careable(保养接口),GPS(定位接口);一个抽象类Transportation(运输抽象类);三个具体类:Ztransportation(专业运输车类),Phone(手机定位类),SendTask(快递发货任务类)。

其中的Ztransportation继承至Transportation类并实现Careable接口;Phone实现GPS接口;SendTask类的send()方法需要依赖Transportation类型和GPS类型的对象完成快递送货的任务。

二、编码实现

(一)、创建对应包,类文件和接口文件。项目结构如下图所示:

(二)、编写Transportation抽象类

package com.hnevc.sendtask;public abstract class Transportation {private String number; //编号private String model;//型号private String admin;//运货负责人public Transportation(){}//定义构造方法public Transportation(String number,String model,String admin){this.number = number;this.model = model;this.admin = admin;}//定义抽象方法abstract public 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;}}

(二)编码实现Careable接口

package com.hnevc.sendtask;public interface Careable {void upKeep();

(三)实现ZTransportation类

首先继承Transportation抽象类,

package com.hnevc.sendtask;public class ZTransportation extends Transportation  {@Overridepublic void transport() {// TODO Auto-generated method stubSystem.out.println("运输中.......");}public ZTransportation(){super();}//定义带参的构造方法public ZTransportation(String number, String model,String admin){super(number,model,admin);}
}

然后实现Careable接口,在extends Transportation后面添加implements Careable接口,然后实现upKeep()方法。

package com.hnevc.sendtask;public class ZTransportation extends Transportation implements Careable {@Overridepublic void transport() {// TODO Auto-generated method stubSystem.out.println("运输中.......");}public ZTransportation(){super();}//定义带参的构造方法public ZTransportation(String number, String model,String admin){super(number,model,admin);}@Overridepublic void upKeep() {// TODO Auto-generated method stubSystem.out.println("保养中.....");}
}

(四)定义GPS接口,申请showCoordinate()方法。

package com.hnevc.sendtask;public interface GPS {String showCoordinate();
}

(五)定义Phone类,实现GPS接口

package com.hnevc.sendtask;public class Phone implements GPS{@Overridepublic String showCoordinate() {// TODO Auto-generated method stubString location ="1234,3434";return location;}}

(六)实现SendTask类,实现send方法

package com.hnevc.sendtask;public class SendTask {private String number;//快递单号private double goodsWeight;//获取重量public SendTask(String number,double goodsWeight){this.number = number;this.goodsWeight = goodsWeight;}//发货前public void sendBefore(){System.out.println("订单正在处理中....");System.out.println("货物重量"+this.goodsWeight+"KG");System.out.println("货物验货完毕");System.out.println("货物装货完毕");System.out.println("通知运货人");System.out.println("快递单号:"+this.number);}//发货中public void send(Transportation t, GPS gps){System.out.println("发货中...");System.out.println("运货人:"+t.getAdmin());System.out.println("货车编号:"+t.getNumber());System.out.println("货车型号:"+t.getModel());System.out.println("当前货车位置:"+gps.showCoordinate());}//发货后public void sendAfter(Transportation t){System.out.println("货物运输已经完成");System.out.println("运货人:"+t.getAdmin()+"所驾驶的编号为:"+t.getNumber()+"的"+t.getModel()+"已归还");}}

(七)实现Test类

首先实例化一个交通工具类的对象,然后实例化一个定位对象,在实例化一个发货任务对象,调用发货任务的sendBefor,send,sendAfter等方法实现快递送货。最后调用交通工具的保养方法。

package com.hnevc.sendtask;public class Test {public static void main(String[] args) {Transportation t = new ZTransportation("湘A1234567","三一货卡","张三");GPS gps = new Phone();SendTask sendTask = new SendTask("SP3412345345", 12.8);sendTask.sendBefore();sendTask.send(t, gps);sendTask.sendAfter(t);((ZTransportation)t).upKeep();}
}

三、执行结果

【摘录】模拟物流快递系统程序设计相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

    案例介绍: 定义抽象的交通工具类: abstract class Transportation{//定义抽象的Transportation类private String number;//交通工具的编 ...

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

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

  9. 物流快递系统(java)

    编写一个模拟物流快递系统的程序,模拟后台系统处理货物的过程.定义一个抽象类Transportation,一个交通工具保养接口Careable,一个专用运输车类Ztransportation,快递任务类 ...

  10. 大学android移动开发笔记,基于Android的移动模拟练习系统的设计与实现

    李思莉 聂芝献 摘要:该文主要论述基于Android的移动模拟练习系统的功能设计及数据设计.数据实现.该系统客户端使用基于Android的移动应用开发技术,服务器端采用JAVA WEB+MySQL技术 ...

最新文章

  1. java多线程runnable_Java 多线程 之 Runnable
  2. javascrip 中的一些方法
  3. 【Linux系统编程应用】 Linux系统中找不到设备/dev/fb0
  4. PXE自动安装FreeBSD
  5. 肯德基收银系统模式_肯德基的完整形式是什么?
  6. job每分钟执行 oracle_Oracle Job 每个时间点执行示例
  7. 判断Json字符串返回类型 对象 或者 数组
  8. 一种非常简单的静态网页生成方法介绍
  9. java 遍历arrayList的四种方法
  10. Strace诊断CPU跑高问题(java/php网站)
  11. Linux局域网传输文件
  12. python获取城市区域边界坐标
  13. kettle下载安装和连接
  14. 关于金山词霸2009牛津版在windows2003下无法对PDF文件取词的问题
  15. PopupWindow 弹窗显示
  16. BLUES吉他学习笔记007 bluesrv[11]
  17. LeetCode-外观数列【小名带你解读LeetCode第38题-外观数列 的题目!最清晰的题解】
  18. 表格分组标签:表格行分组中的隐藏功能
  19. 统计学中假设检验有关P值的讨论
  20. 18. BootStrap 卡片组件Cards (2)

热门文章

  1. M0、M1、M2、M3、M4
  2. 领导的本质就是:管理自己,影响别人
  3. iframe中某些网页无法打开
  4. L1-031. 到底是不是太胖了
  5. linux 字符 拨号上网,LINUX下用ADSL拨号上网
  6. windows server 2008安装配置web服务器
  7. win10热点手机显示IP配置错误连不上和电脑连上网线没网络
  8. 计算机网络工程师干嘛的,什么是网络工程师?网络工程师是做什么的?
  9. svn代码被clean up了怎么找回来
  10. outlook2007 有一个程序正试图以您的名义自动发送电子邮件