【java案例】:模拟物流快递系统程序设计
文档下载链接:https://download.csdn.net/download/oxygen23333/86770543
案例题目:
模拟物流快递系统程序设计(面向对象的程序设计)
学习内容:
- 掌握抽象类、抽象方法的特点
- 接口的特点
- Super关键字
- 抽象类及接口的实现
- 父类的引用指向子类的对象,多态的意义
实验思路:
- 运输货物首先需要有交通工具,所以需要定义一个交通工具类。由于交通工具可能有很多,所以可以将该交通工具类定义成一个抽象类,类中需要包含该交通工具的编号,型号以及运货负责人等属性,还需要定义一个抽象的运输方法。
- 当运输完成后,需要对交通工具进行保养,所以需要定义保养接口,具备交通工具的保养功能。
- 交通工具可能有很多种,这里可以定义一个专用运输车类,该类需要继承交通工具类,并实现保养接口。
- 在货物运输过程中,需要对运输车辆定位,以便随时跟踪货物的位置信息。定位功能可以使用GPS,而考虑到能够实现定位功能的设备可能有很多(如手机、专用定位仪器等),这时可以定义一个包含定位功能的GPS接口,以及实现了该接口的仪器类(如Phone等)。
- 编写测试类,运行查看结果。
案例编程:
工程例图:
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案例】:模拟物流快递系统程序设计相关推荐
- java作业:模拟物流快递系统程序设计
模拟物流快递系统程序设计 [案例介绍] 1. 案例描述 网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中.而在送货期间,物流管理人员可 ...
- [案例4-8]模拟物流快递系统程序设计
案例描述: 网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中.而在送货期间,物流管理人员可以在系统中查看所有物品的物流信息.编写一个模 ...
- 【案例4-8】模拟物流快递系统程序设计
案例描述 网购已成为人们生活的重要组成部分,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中.而在送货期间,物流管理人员可以在系统中查看所有物品的物流信息.编写一个模拟 ...
- 【Java案例】模拟物流快递系统程序设计
案例介绍: 定义抽象的交通工具类: abstract class Transportation{//定义抽象的Transportation类private String number;//交通工具的编 ...
- Java实验6 --模拟物流快递系统程序设计
前言 时间:2020.6.13 备注:Java实验6任务2.最后一更Java基础实验,明天要计网课设了,有时间再出其他内容滴~ 题目 实现思路 先设计一个Transportation的抽象父类,加载一 ...
- 模拟物流快递系统程序设计java_路辉物流设备:大件快递自动分拣系统的模块化设计...
物流企业运营所需的能源.劳动力.土地价格持续上涨,依赖"高投入.低产出"传统物流运作模式难以为继,面临着降低成本.提高效率.可持续发展的转型要求.快递行业对于新兴的大件快递消费需求 ...
- 物流快递系统程序设计
一.实验目的及要求: 1.学会分析"物流快递系统程序设计"程序任务实现的逻辑思维 2.能够独立完成物流快递系统程序的构思,编写和运行 3.理解类和对象的封装.继承以及多态的使用,并 ...
- java实现模拟考试系统,基于jsp的驾照模拟考试系统a-JavaEE实现驾照模拟考试系统a - java项目源码...
基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的驾照模拟考试系统a, 该项目可用各类java课程设计大作业中, 驾照模拟考试系统a的系统架构分为前后台两部分, 最 ...
- 利用JAVA多线程模拟售票系统,对统一资源进行处理
首先多线程处理统一资源的方式有两种 分别介绍一下两者的区别 synchronized与Lock的区别 1.Lock不是Java语言内置的,synchronized是Java语言的关键字 2.synch ...
最新文章
- 给PS4装上Linux,然后用Xbox手柄打任天堂游戏?网友:这场面我没见过
- 济南计算机中考分数,【更新版】2017济南各初中中考成绩汇总!
- 【python】nuitka封装python
- Android开发学习:在Eclipse中导入Android项目方法
- jboss eclipse_调试生产服务器– Eclipse和JBoss展示
- Python操作mySql数据库封装类
- ESP32开源驱动库Easyio的使用,基于ESP-IDF开发框架,非Arduino
- 实用的 Python —— 进制(二进制形式中 1 的位数)
- PHP mcrypt可逆加密算法分析
- Kconfig 和 Kbuild
- ant design vue table 高度自适应_很受欢迎的vue前端UI框架
- element ui中的el-input回车键事件
- hfs支持php文件系统,HFS+文件系统的发展及特点介绍
- 修改el-select多选时collapse-tags模式下设置宽度,超出...
- RabbitMQ的相关概念以及RabbitMQ的安装
- 【str家族】如何使用处理字符和字符串的库函数
- Oracle之cmd 常用命令
- echarts案例大全,echarts的Demo网站有哪些
- 准备奔向新时代的技术nodejs+express+mongodb+json
- 骨干是折腾出来的 读书笔记5