test071.java

package pack03;

public class test071
{

	public static void main(String[] args)
	{
		SendTask task1 = new SendTask("YT00056343",15.18);
		task1.sendBefore();
		System.out.println("-------------->");
		
		ZYtransprotation car1 = new ZYtransprotation("京B010568","星驰","虾米大王");
		Phone oppo1 = new Phone();
		task1.send(car1, oppo1);
		System.out.println("--------------->");
		
		task1.sendAfter(car1);
		System.out.println("--------------->");
		
		car1.upKeep();
		
	}

}

//交通工具抽象类
abstract class Transportation
{
	private String number; //编号
	private String model; //车俩型号
	private String admin; //运货负责人
	
	public Transportation()
	{
		super();
	}
	
	public Transportation(String number,String model,String admin)
	{
		this.number = number;
		this.model = model;
		this.admin = admin;
	}
	
	public abstract void transport();
	
	public String getNumber()
	{
		return this.number;
	}
	
	public void setNumber(String number)
	{
		this.number = number;
	}
	
	public String getModel()
	{
		return this.model;
	}
	
	public void setModel(String model)
	{
		this.model = model;
	}	
	
	public String getAdmin()
	{
		return this.admin;
	}
	
	public void setAdmin(String admin)
	{
		this.admin = admin;
	}
}

//交通工具保养接口
interface Careable
{
	public abstract void upKeep();
}

//专用运输工具
class ZYtransprotation extends Transportation implements Careable
{

	@Override
	public void upKeep()
	{
		System.out.println("运输车辆保养完毕");
		
	}

	@Override
	public void transport()
	{
		System.out.println("运输进行中...");
		
	}
	
	public ZYtransprotation()
	{
		super();
	}
	
	public ZYtransprotation(String number,String model,String admin)
	{
		super(number,model,admin);
	}
	
		
}

interface GPS
{
	public String showCoordinate();
}

class Phone implements GPS
{
	public Phone()
	{
		super();
	}

	@Override
	public String showCoordinate()
	{
		String location = "111,222";
		return location;
	}
	
	
}


//快递任务类
class SendTask
{
	private String number; //快递编号
	private double goodsWeight; //货物重量
	
	public SendTask()
	{
		
	}
	
	public SendTask(String number,double goodsWeight)
	{
		this.number = number;
		this.goodsWeight = goodsWeight;
	}
	
	
	public void sendBefore()
	{
		System.out.println("订单开始处理,仓库验货...");
		System.out.println("货物重量:" + goodsWeight + "KG");
		System.out.println("货物检验完毕");
		System.out.println("货物装填完毕");
		System.out.println("运货人已通知");
		System.out.println("快递单号:" + number);
	}
	
	public void send(Transportation t1,GPS tool)
	{
		System.out.println("运货人:" + t1.getAdmin());
		System.out.println("车辆编号:" + t1.getNumber());
		System.out.println("车辆型号:" + t1.getModel());
		t1.transport();
		String showCoordinate = tool.showCoordinate();
		System.out.println("当前坐标为:" + showCoordinate);
	}
	
	public void sendAfter(Transportation t1)
	{
		System.out.println("货物运输任务已完成");
		System.out.println("运货人:" + t1.getAdmin());
		System.out.println("车辆编号:" + t1.getNumber());
		System.out.println("车辆型号:" + t1.getModel());
		System.out.println("车辆已归还");
	}
	
	
	public String getNumber()
	{
		return this.number;
	}
	
	
	public void setNumber(String number)
	{
		this.number = number;
	}
	
	public double getGoodsWeight()
	{
		return this.goodsWeight;
	}
	
	public void setGoodsWeight(double goodsWeight)
	{
		this.goodsWeight = goodsWeight;
	}
	
	
}