文档下载链接:https://download.csdn.net/download/oxygen23333/86770543

案例题目:

        模拟物流快递系统程序设计(面向对象的程序设计)


学习内容:

  1. 掌握抽象类、抽象方法的特点
  2. 接口的特点
  3. Super关键字
  4. 抽象类及接口的实现
  5. 父类的引用指向子类的对象,多态的意义

实验思路:

  1. 运输货物首先需要有交通工具,所以需要定义一个交通工具类。由于交通工具可能有很多,所以可以将该交通工具类定义成一个抽象类,类中需要包含该交通工具的编号,型号以及运货负责人等属性,还需要定义一个抽象的运输方法。
  2. 当运输完成后,需要对交通工具进行保养,所以需要定义保养接口,具备交通工具的保养功能。
  3. 交通工具可能有很多种,这里可以定义一个专用运输车类,该类需要继承交通工具类,并实现保养接口。
  4. 在货物运输过程中,需要对运输车辆定位,以便随时跟踪货物的位置信息。定位功能可以使用GPS,而考虑到能够实现定位功能的设备可能有很多(如手机、专用定位仪器等),这时可以定义一个包含定位功能的GPS接口,以及实现了该接口的仪器类(如Phone等)。
  5. 编写测试类,运行查看结果。

案例编程:

工程例图:


Carmaintenance类:

package logisticspack;//车辆保养   接口
public interface Carmaintenance {// 保养方法public abstract void upKeep();
}

CourierTask类:

package logisticspack;//快递任务
public class CourierTask {private String number;// 快递单号private double goodsweight;public CourierTask() {super();}public CourierTask(String number, double goodsweight) {this.number = number;this.goodsweight = goodsweight;}public void sendBefore() {System.out.println("订单开始处理,仓库验货中。。。");System.out.println("货物重量:" + this.getGoodsweight() + "kg");System.out.println("货物检验完毕");System.out.println("货物填装完毕");System.out.println("运货人已通知");System.out.println("快递单号:" + this.getNumber());}public void send(Trafficandtransportation t, Phone p) {System.out.println("运货人" + t.getAdmin() + "正在驾驶编号为" + t.getNumber() + "的" + t.getModel() + "发送货物");t.trandport();String showCoordinate = p.showCoordinate();System.out.println("货物当前的坐标为:" + showCoordinate);}public void sendAfter(Trafficandtransportation t) {System.out.println("货物运输任务已完成");System.out.println("运货人" + t.getAdmin() + "所驾驶的编号为" + t.getNumber() + "的" + t.getModel() + "已归还!");}public String getNumber() {return number;}public void setNumber(String number) {this.number = number;}public double getGoodsweight() {return goodsweight;}public void setGoodsweight(double goodsweight) {this.goodsweight = goodsweight;}}

GPS类:

package logisticspack;//GPS 接口
public interface GPS {// 显示坐标public String showCoordinate();
}

Phone类:

package logisticspack;//手机类
public class Phone {public Phone() {super();}public String showCoordinate() {String location = "193,485";return location;}
}

Trafficandtransportation类:

package logisticspack;//抽象类 交通工具 and 运行货物 方法
public abstract class Trafficandtransportation {private String number;private String model;private String admin;public Trafficandtransportation() {// TODO Auto-generated constructor stubsuper();}// 实现抽象类的方法public Trafficandtransportation(String number, String model, String admin) {this.number = number;this.admin = admin;this.model = model;}// 运输方法public abstract void trandport();// numberpublic String getNumber() {return number;}public void setNumber(String number) {this.number = number;}// modelpublic String getModel() {return model;}public void setModel(String model) {this.model = model;}// adminpublic String getAdmin() {return admin;}public void setAdmin(String admin) {this.admin = admin;}
}

ZTrafficandtransportation类:

package logisticspack;public class ZTrafficandtransportation extends Trafficandtransportation implements Carmaintenance {public ZTrafficandtransportation() {super();}public ZTrafficandtransportation(String number, String model, String admin) {super(number, model, admin);}@Overridepublic void upKeep() {// TODO Auto-generated method stubSystem.out.println("货物运输车辆保养完毕");}@Overridepublic void trandport() {// TODO Auto-generated method stubSystem.out.println("运输中");}
}

Test类(测试类):

package logisticspack;//测试类
public class Test {public static void main(String[] args) {CourierTask task = new CourierTask("LHB102866", 115.34);task.sendBefore();System.out.println("=================================");ZTrafficandtransportation t = new ZTrafficandtransportation("Z123", "顺丰三轮车", "小李");Phone p = new Phone();task.send(t, p);System.out.println("=================================");task.sendAfter(t);t.upKeep();}
}

结果例图:

 代码类图:

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

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

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

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

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

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

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

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

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

  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. 给PS4装上Linux,然后用Xbox手柄打任天堂游戏?网友:这场面我没见过
  2. 济南计算机中考分数,【更新版】2017济南各初中中考成绩汇总!
  3. 【python】nuitka封装python
  4. Android开发学习:在Eclipse中导入Android项目方法
  5. jboss eclipse_调试生产服务器– Eclipse和JBoss展示
  6. Python操作mySql数据库封装类
  7. ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino
  8. 实用的 Python —— 进制(二进制形式中 1 的位数)
  9. PHP mcrypt可逆加密算法分析
  10. Kconfig 和 Kbuild
  11. ant design vue table 高度自适应_很受欢迎的vue前端UI框架
  12. element ui中的el-input回车键事件
  13. hfs支持php文件系统,HFS+文件系统的发展及特点介绍
  14. 修改el-select多选时collapse-tags模式下设置宽度,超出...
  15. RabbitMQ的相关概念以及RabbitMQ的安装
  16. 【str家族】如何使用处理字符和字符串的库函数
  17. Oracle之cmd 常用命令
  18. echarts案例大全,echarts的Demo网站有哪些
  19. 准备奔向新时代的技术nodejs+express+mongodb+json
  20. 骨干是折腾出来的 读书笔记5

热门文章

  1. 一般而言,以下不属于操作系统内核功能的是()————操作系统
  2. Java8 Stream流练习
  3. servlet在线中文API
  4. 【Reinforcement Learning】AlphaGo 如何使用的强化学习?
  5. ADO.VBA for CorelDraw
  6. 这两个网站能帮你提高涵养
  7. 【MATLAB】sphere 球曲面函数详解
  8. @Transient注解的使用
  9. 《layui宇宙版教程》:轮播组件carousel
  10. 杨大川:未来BI重点回归客户端