Java模拟物流快递系统程序设计(此题仅仅实现类的继承与多态,后续增加接口部分)

简介: Java模拟物流快递系统程序设计

任务描述

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

实现思路

运输货物首先需要有交通工具,所以需要定义一个交通工具类。由于交通工具可能有很多,所以可以将该交通工具类定义为一个抽象类,类中需要包含该交通工具的编号、型号以及运货负责人等属性,还需要定义一个抽象的运输方法。


交通工具有很多种,可以定义一个专用的运输车类,该类继承交通工具类。


有了运输工具后,就可以运送货物了,货物在运输前,运输时和运输后,都需要检查和记录,并且每一个快递都有快递单号,可以定义一个快递任务类,包含快递单号和货物重量的属性及货物发送前,发送途中和送到后得方法。

实现

定义工具类:此类定义为抽象的,包含车辆编号、车辆型号、运货负责人等属性、以及其各自get 和set 方法,同时定义一个抽象的运输方法。


定义专用运输车类。该类继承交通工具类(可多定义几种运输车类:大货车,小货车)。


定义快递任务类该类包含快递单号,货物重量属性,送前准备方法(显示订单开始处理,仓库验货中;货物重量信息,货物检验完毕,货物填装完毕,运货人已通知,快递单号信息);发送货物(显示运货人信息,位置暂时可以自定增加接口后自动获取);送后操作(显示货物运送任务结束,运货人所驾驶的编号为。。。的型号为。。。的车已经归还);定义设置,获取快递单号的方法及货物重量的方法。


定义测试类,实例化对象并传入数据,测试运行。


代码实现

交通工具抽象类

/*** * @author * 交通工具抽象类*/publicabstractclassVehicle {
privateStringnumber;
privateStringmodel;
privateStringadmin;
//构造方法publicVehicle() {
    }
publicVehicle(Stringnumber, Stringmodel, Stringadmin) {
super();
this.number=number;
this.model=model;
this.admin=admin;
    }
//送货方法publicabstractvoidvehicle();
//生成getter和setter方法publicStringgetNumber() {
returnnumber;
    }
publicvoidsetNumber(Stringnumber) {
this.number=number;
    }
publicStringgetModel() {
returnmodel;
    }
publicvoidsetModel(Stringmodel) {
this.model=model;
    }
publicStringgetAdmin() {
returnadmin;
    }
publicvoidsetAdmin(Stringadmin) {
this.admin=admin;
    }
}

专用交通工具子类

/*** * @author * 专用交通工具子类*/publicclassAVehicleextendsVehicle{
//构造方法publicAVehicle() {
super();
    }
publicAVehicle(Stringnumber, Stringmodel, Stringadmin) {
super(number, model, admin);
    }
//重写送货方法@Overridepublicvoidvehicle(){
System.out.println("货物正在运送中......");
    }
}

快递类

/*** * @author * 快递任务类*/publicclassExpressTask {
doubleweight; //货物重量Stringnumber;//快递单号//生成构造方法publicExpressTask() {  
    }
publicExpressTask(doubleweight, Stringnumber) {
super();
this.weight=weight;
this.number=number;
    }
//运送前方法publicvoidbefore() {
System.out.println("订单开始处理...");
System.out.println("仓库验货中...");
System.out.println("货物重量:"+this.weight+"kg");
System.out.println("货物检验完毕...");
System.out.println("货物填装完毕...");
System.out.println("正在随机分配运货人...");
System.out.println("运货人已通知...");
System.out.println("快递单号:"+this.number);
    }
//实例化交通工具AVehicletool=newAVehicle("001","宾利","老马");
//运送中方法publicvoidsending() {
System.out.println("运货人:"+tool.getAdmin()+"\n"+"车辆型号:"+tool.getModel()+"\n"+"车辆编号:"+tool.getNumber());
tool.vehicle();
    }
//运送后方法publicvoidlater() {
System.out.println("货物运送结束...");
System.out.println("运货人"+tool.getAdmin()
+"所驾驶的编号为"+tool.getNumber()
+"的型号为"+tool.getModel()
+"的车已归还");
    }
}

测试类

/*** * @author * 快递测试类*/publicclasstest {
publicstaticvoidmain(String[] args) {
Scannerscanner=newScanner(System.in);
//创建快递任务ExpressTaskexpress=newExpressTask();
System.out.println("正在创建快递任务...");
System.out.println("请输入快递重量(kg):");
express.weight=scanner.nextDouble();
System.out.println("请输入快递单号:");
express.number=scanner.next();
System.out.println("订单创建成功...");
//调用送货前express.before();
System.out.println("=============================");
//调用送货中express.sending();
System.out.println("=============================");
//调用送货后express.later();
    }
}

运行实例

20201013100133186.png

目录
相关文章
|
6天前
|
Java 测试技术 开发者
💡Java 零基础:彻底掌握 for 循环,打造高效程序设计
【10月更文挑战第15天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
98 63
|
2天前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
5天前
|
移动开发 前端开发 JavaScript
java家政系统成品源码的关键特点和技术应用
家政系统成品源码是已开发完成的家政服务管理软件,支持用户注册、登录、管理个人资料,家政人员信息管理,服务项目分类,订单与预约管理,支付集成,评价与反馈,地图定位等功能。适用于各种规模的家政服务公司,采用uniapp、SpringBoot、MySQL等技术栈,确保高效管理和优质用户体验。
|
7天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
24 1
|
11天前
|
Java 关系型数据库 API
介绍一款Java开发的企业接口管理系统和开放平台
YesApi接口管理平台Java版,基于Spring Boot、Vue.js等技术,提供API接口的快速研发、管理、开放及收费等功能,支持多数据库、Docker部署,适用于企业级PaaS和SaaS平台的二次开发与搭建。
|
15天前
|
Java 关系型数据库 MySQL
基于Java的学生成绩管理系统/学生信息管理系统
基于Java的学生成绩管理系统/学生信息管理系统
31 2
|
21天前
|
Java
java继承和多态详解
java继承和多态详解
35 5
|
15天前
|
前端开发 Java 数据库连接
基于Java的校车管理系统(下)
基于Java的校车管理系统(下)
11 0
|
15天前
|
存储 前端开发 Java
基于Java的校车管理系统
基于Java的校车管理系统(上)
14 0
|
15天前
|
Java 数据库
基于java的汽车服务管理系统(Car Service Management System)
基于java的汽车服务管理系统(Car Service Management System)
14 0