JAVA基础案例教程——模拟物流快递系统程序设计

背景

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

思路

1)定义交通工具抽象类(jiaotonggongju),包含运输工具类型(leixing),承运商信息(chengyunshang),交通工具编号(num)

2)定义交通工具子类(jtgjzilei),包含运输工具类型(leixing),承运商信息(chengyunshang),交通工具编号(num),继承交通工具抽象父类,并对交通工具抽象类进行重写,

3)定义快递属性类和抽象方法,快递属性类(kuaidi),包含快递重量(weight),快递单号(ID),发货地点(place),抽象方法包含运送前,运送中,运送后。

4)定义测视类,通过调用交通工具子类、快递属性类、抽象方法和scanner函数,完成整个物流模拟快递系统的设计。

代码

//定义交通工具类(类型、承运商、号码)

package project1;

import java.security.PublicKey;

public abstract class jiaotonggongju {
	private String leixing;
	private String chengyunshang;
	private String num;

    public jiaotonggongju() {
	
    }

    public jiaotonggongju(String leixing,String chengyunshang,String num){
    	super();
	    this.leixing=leixing;
	    this.chengyunshang=chengyunshang;
	    this.num=num;
    }

    public abstract void gongju();

    public String getNum() {
	    return num;
    }

    public void setNum(String num) {
	    this.num=num;
    }

    public String getLeixing() {
	    return leixing;
    }

    public void setLeixing(String leixing) {
	    this.leixing=leixing;
    }

    public String getChengyunshang() {
	    return chengyunshang;
    }

    public void setChengyunshang(String chengyunshang) {
	    this.chengyunshang=chengyunshang;
    }
}
//定义交通工具子类

package project1;

public class jtgjzilei extends jiaotonggongju {    
	public jtgjzilei() {
		super();
	}
	public jtgjzilei(String leixing,String chengyunshang,String num) {
		super(leixing,chengyunshang,num);
	}
	public void gongju() {
		System.out.println("正在运输中......");
	}

}
//定义快递属性类和抽象方法

package project1;

import javax.crypto.interfaces.DHPublicKey;

public class kuaidi {
	double weight;
	String ID;
	String place;
	
	public kuaidi(){
		
	}
	
	public kuaidi(double weight,String ID,String place) {
		super();
		this.weight=weight;
		this.ID=ID;
		this.place=place;
	}
	
	//运送前
	
	public void before() {
    	System.out.println("订单开始处理");
    	System.out.println("快递单号:"+this.ID);
    	System.out.println("货物重量:"+this.weight+"kg");
    	System.out.println(this.place+"仓库接货");
    	System.out.println("仓库拣货");
    	System.out.println("拣货完毕");
    	System.out.println("已到达配送站,随机分配运货人");
    	System.out.println("快件准备派送......");
    }
	
	//运输工具(交通工具子类)
	
	jtgjzilei tool=new jtgjzilei("汽车","顺丰快递","0328");
	
	//运送中
	
	public void ing() {
		System.out.println("承运商:"+tool.getChengyunshang()+"\n"+"编号:"+tool.getNum()+"\n"+"运送工具:"+ tool.getLeixing());
		tool.gongju();
	}
	
	//运送后
	
	public void later() {
		System.out.println("快件已签收");
		System.out.println("承运商"+tool.getChengyunshang()+"派送完毕");
	}
}
//测试类

package project1;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		kuaidi express=new kuaidi();
		System.out.println("正在创建快递项目");
		System.out.println("请输入快递重量:");
		express.weight=scanner.nextDouble();
		System.out.println("请输入快递单号:");
		express.ID=scanner.next();
		System.out.println("请输入发货地点:");
		express.place=scanner.next();
		
		
		//调用运送前
		
		System.out.println("\n");
		express.before();
		System.out.println("\n");
		
		//调用运送中
		
		express.ing();
		System.out.println("\n");
		
		//调用运送后
		
		express.later();
		System.out.println("\n");
		
	}
}

测试

 

  • 11
    点赞
  • 81
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值