【模拟物流快递系统程序设计】
1、案例描述
网购已成为人们生活的重要组成部门,当人们在购物网站中下订单后,订单中的货物就会在经过一系列的流程后,送到客户的手中。而在送货期间,物流管理人员可以在系统中查看所有物品的物流信息。编写一个模拟物流快递系统的程序,模拟后台系统处理货物的过程。
2、案例目的
(1)学会分析“模拟物流快递系统程序设计”案例的实现思路
(2)完成“模拟物流快递系统程序设计”的代码编写、编译及运行
(3)掌握面向对象封装、继承和多态的概念和使用
(4)掌握抽象类和接口的使用
3、运行结果
4、代码实现
package cn.itcast.example;
/*
* 交通工具类
*/
abstract class Transportation{
private String number;//编号
private String model;//型号
private String admin;//运货负责人
public Transportation() {
super();//可省略
}
public Transportation(String number, String model, String admin) {
super();
this.number = number;
this.model = model;
this.admin = admin;
}
//运输方法
public abstract void transport();
//编号
public void setNumber(String number) {
this.number = number;
}
public String getNumber() {
return number;
}
//型号
public void setModel(String model) {
this.model = model;
}
public String getModel() {
return model;
}
//负责人
public void setAdmin(String admin) {
this.admin = admin;
}
public String getAdmin() {
return admin;
}
}
/*
* 定义保养接口,具备保养功能
*/
interface Careable{
//保养方法
public abstract void upKeep();
}
/*
* 专用运输车类
*/
class ZTransportation extends Transportation implements Careable{
//无参构造
public ZTransportation() {
super();
}
//有参构造:车辆编号、型号、负责人
public ZTransportation(String number,String model,String admin) {
super(number,model,admin);
}
//运输方法
public void transport() {
System.out.println("运输进行中....");
}
//重写车辆保养方法
public void upKeep() {
System.out.println("货物运输车辆保养完毕!");
}
}
/*
* 快递任务类
*/
class SendTask{
private String number;//快递单号
private double goodsWeight;//货物重量
public SendTask() {
super();//可以省略
}
public SendTask(String number,double goodsWeight) {
this.number = number;
this.goodsWeight = goodsWeight;
}
//送前准备
public void sendBefor() {
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(Transportation t,GPS tool) {
System.out.println("运货人"+t.getAdmin()+"正在驾驶编号为"+t.getNumber()+"的"+t.getModel()+"发货货物!");
t.transport();
String showCoordinate = tool.showCoordiante();
System.out.println("货物当前的坐标为:"+showCoordinate);
}
//送后操作
public void sendAfter(Transportation 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接口,具备GPS定位功能
*/
interface GPS{
//显示坐标的方法
public String showCoordiante();
}
/*
* 定义一个手机类,实现GPS接口,拥有定位功能
*/
class Phones implements GPS{
public Phones() {//无参构造
super();
}
//定位方法
public String showCoordiante() {
String location = "193.485";
return location;
}
}
/*
* 定义测试类
*/
public class example {
public static void main (String[] arge) {
//快递任务类对象
SendTask task = new SendTask("HYX600235",76.34);
//调用送前准备方法
task.sendBefor();
System.out.println("==================");
//创建交通工具对象
ZTransportation t = new ZTransportation("ZTransportation","大奔","小韩");
//创建GPS工具对象
Phones p = new Phones();
//将交通工具与GPS工具传入送货方法
task.send(t, p);
System.out.println("=======================");
//调用送后操作方法
task.sendAfter(t);
t.upKeep();
}
}
标签:JAVA,String,number,System,快递,println,程序设计,public,out
From: https://blog.csdn.net/m0_68442003/article/details/139291519