ITPub博客

首页 > IT职业 > IT图书 > Java第二季租车系统参考

Java第二季租车系统参考

IT图书 作者:liuxuhui 时间:2021-09-09 09:06:13 0 删除 编辑

首先创建一个汽车的抽象类CarStore,里面包含汽车的编号ID,车名Name以及价格Price,并且创建set和get方法。

package cw.lojako.carrent;

public abstract class CarStore {
    private int id;
    private String name;
    private double price;

    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public double getPrice() {
        return price;
    }
    public void setPrice(double price) {
        this.price = price;
    }

}

之后我们可以创建两个接口,载客量(CarryingPeople),载货量(CarryingGoods)。
这里引出一个问题:什么时候用接口呢?就是一个功能并不是所有对象都拥有时,可以把这个功能写进接口中,如若该对象需要此功能则实现该接口即可。就拿我们这个例子而言,货车的载货功能客车并不具备,所以需要用接口来实现。

接口(CarryingPeople)

package cw.lojako.carrent;

public interface CarryingPeople {
    public void setPeople(int n);
    public int getPeople();
}

接口(CarryingGoods)

package cw.lojako.carrent;

public interface CarryingGoods {
    public void setGoods(int n);
    public int getGoods();
}

第三步就是创建客车类,货车类,皮卡类并继承抽象类CarStore,实现相对应的接口。代码如下:

客车类(Car.java)

package cw.lojako.carrent;

public class Car extends CarStore implements CarryingPeople{

    private int people;
    //初始化值
    public Car(int id,String name,double price,int people){
        super.setId(id);
        super.setName(name);
        super.setPrice(price);
        this.setPeople(people);
    }

    @Override
    public void setPeople(int people) {
        this.people = people;       
    }

    @Override
    public int getPeople() {
        return people;  
    }

    @Override
    public String toString() {
        return "编号:"+super.getId()+"t"+"车名:"+super.getName()+"t"+"价格:"+super.getPrice()+"元/天t"+"载客量:"+this.getPeople()+"人";
    }

}

货车类(Van)

package cw.lojako.carrent;

public class Van extends CarStore implements CarryingGoods {

    private int goods;
    //初始化值
    public Van(int id,String name,double price,int goods){
        super.setId(id);
        super.setName(name);
        super.setPrice(price);
        this.setGoods(goods);
    }
    @Override
    public void setGoods(int goods) {   
        this.goods = goods;
    }

    @Override
    public int getGoods() {
        return goods;
    }
    @Override
    public String toString() {
        return "编号:"+super.getId()+"t"+"车名:"+super.getName()+"t"+"价格:"+super.getPrice()+"元/天t"+"载货量:"+this.getGoods()+"T";
    }
}

皮卡类(PickUp)

package cw.lojako.carrent;

public class PickUp extends CarStore implements CarryingGoods,CarryingPeople{

    private int goods;
    private int people;
    //初始化值
    public PickUp(int id,String name,double price,int people,int goods){
        super.setId(id);
        super.setName(name);
        super.setPrice(price);
        this.setPeople(people);
        this.setGoods(goods);
    }
    @Override
    public void setGoods(int goods) {   
        this.goods = goods;
    }

    @Override
    public int getGoods() {
        return goods;
    }
    @Override
    public void setPeople(int people) {
        this.people = people;
    }
    @Override
    public int getPeople() {
        return people;
    }
    @Override
    public String toString() {
        return "编号:"+super.getId()+"t"+"车名:"+super.getName()+"t"+"价格:"+super.getPrice()+"元/天t"+"载客量:"+this.getPeople()+"人"+"  "+"载货量:"+this.getGoods()+"T";
    }
}

最后一步是写主页面

package cw.lojako.carrent;

import java.util.Scanner;

public class RentSystem {

    CarStore[] cars ={new Car(1,"奥迪A4",500,4), 
                      new Car(2,"马自达",400,4), 
                      new PickUp(3,"皮卡雪",450,4,20), 
                      new Car(4,"保时捷",800,20), 
                      new Van(5,"松花江",400,4), 
                      new Van(6,"依维柯",1000,20)};
    Scanner in = new Scanner(System.in);
    public void rent(){
        System.out.println("欢迎使用答答租车系统: n是否租车???    1(是)  0(否)");
        int input = in.nextInt();
        if(input==1){
            System.out.println("您可租车的类型和价目表: "+"n  序号"+"======"+"车名"+"==============="+"租金"+"==========="+"容量");
            for(int i=0;i=cars.length||j

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/756/viewspace-2799446/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-06-19

  • 博文量
    583
  • 访问量
    11542