简易停车场管理系统(类与继承综合应用)

本文介绍了一种停车场管理系统的设计,包括停车场类Park的实现,具备车位管理、车辆泊车、付费及统计等功能。车辆类Automobile及其派生类Truck、Carriage、Car分别代表不同类型的汽车,具备特定属性和行为。系统采用收费标准为Truck每小时2元,Carriage每小时1.5元,Car每小时1元。此外,系统还提供了扩建停车位和显示各类车辆数量的选项。
摘要由CSDN通过智能技术生成

停车场管理系统实验报告

一、题目

随着家庭购买汽车的增加,停车场车位紧张的问题越来越突出。请根据题目要求完成简单的车位管理程序。

  1. 停车场有若干停车位(为说明问题,假定为n个,可扩),每个位置可以存放不同种类的的汽车,包括卡车Truck,客车Carriage和小轿车Car,但同一时刻一个位置只能存放0或1辆汽车。
  2. 管理系统模拟实际车辆停车的情况:新来车辆时如果有空位,按顺序为该车分配停车位;车辆开走时,按停车场的收费标准交纳相应停车费(假定停车场能获取车辆对象的类别);统计各类车辆的数量。
  3. 定义描述停车场的类Park,其中有n个位置用于存放各类车辆。
  4. 定义基类Automobile:①驾驶员;②车牌号(字符串)、车辆类别(分为Car、Truck、Carriage);③String getMobileMessage()车辆相关信息;④parking()泊车、start()开车、pause()暂停等。
  5. 定义派生类Truck,Carriage和Car,这些车辆除了拥有车牌号(字符串)、车辆已使用年数(整数)之外, Truck还拥有载重量(浮点数,单位吨)属性,Carriage还拥有乘坐人数(整数,单位人)属性, Car还拥有排气量(浮点数,单位L)属性。
  6. 每辆车上只有一驾驶员,驾驶员按停车场的收费要求支付费用;按现实停车场的场景来模拟需有的动作(方法):在出口前停车、付费、开车、泊车等。
  7. 收费标准:其中Truck收费2元/小时,Carriage收费1.5元/小时,Car收费1元/小时。
  8. 测试上述所要求的各种功能,即根据菜单命令为新来车辆分配停车位、开走车辆(输入车位编号)时付费、显示停车场中各类车辆的数量。

二、实验分析

三、代码

package PARKING_ADM;

import java.util.ArrayList;
import java.util.List;

public class Parking {
	//车的总数量
	private int n = 0;
	//定义一个集合存储停车位
	private List<ParkingSpace> parkSpaces= new ArrayList<>();
	//空车位的数量
	private int parkedSpace = 0;
	
	/**
	 * 构造方法
	 */
	public Parking(){
		System.out.println("创建了一个空的停车位");
	}
	
	/**
	 * 设置停车位的个数,并创建相应个数的ParkingSpace对象
	 * @param n
	 */
	public void setN(int n){
		this.n = n;
		for(int i = 0;i < n;i++){
			parkSpaces.add(new ParkingSpace());
		}
	}
	
	/**
	 * 扩建停车位num个,创建了num个新的ParkingSpace对象,parkSpaces集合里增添了num个新的元素
	 * @param num
	 */
	public void addParkingSpace(int num){
		for(int i = 0;i < num;i++){
			parkSpaces.add(new ParkingSpace());
		}
		n+=num;
	}
	
	/**
	 * 获得停车位的个数
	 * @return
	 */
	public int getN(){
		return n;
	}
	
	/**
	 * 获取已被占用的停车位的个数
	 * @return
	 */
	public int getParkedSpace(){
		return parkedSpace;
	}
	
	/**
	 * 设置被占用的停车位数量
	 * @param parkedSpace
	 */
	public void setParkedSpace(int parkedSpace){
		this.parkedSpace = parkedSpace;
	}
	
	/**
	 * 开进停车位一辆车,被占据的停车位+1
	 */
	public void addParkedSpaces(){
		parkedSpace++;
	}
	
	public void minusParkedSpaces(){
		parkedSpace--;
	}
}

package PARKING_ADM;

public class ParkingSpace {
	//isParked表示该停车位是否被占用
	private boolean isParked = false;
	//carType开进的车的类型
	private String carType = null;
	//停车位的序号
	private int parkingNum = -1;
	
	public ParkingSpace(){
		
	}
	
}

未完待续…

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
简单的车位管理程序 随着家庭购买汽车的增加,停车场车位紧张的问题越来越突出。根据题目要求完成简单的车位管理程序。 1.停车场有若干停车位(为说明问题,假定为3个),每个位置可以存放不同种的的汽车,包括卡车Truck,客车Carriage和小轿车Car,但同一时刻一个位置只能存放0或1辆汽车。 2.管理系统模拟实际车辆停车的情况:新来车辆时如果有空位,按顺序为该车分配停车位; 车辆开走时,交纳相应停车费;统计各车辆的数量。 3.定义描述停车场的Park,其中有3个位置用于存放各车辆。 4.定义Automobile至少包括纯虚函数Pay用于显示车辆信息并交纳相应停车费。 5.定义派生Truck,Carriage和Car,这些车辆除了拥有车牌号(字符串)、车辆已使用年数(整数)之外。 Truck还拥有载重量(浮点数,单位吨)属性,Carriage还拥有乘坐人数(整数,单位人)属性,Car还拥有排气量(浮点数,单位L)属性。具体实现上述纯虚函数Pay,显示每车辆的相应信息,并给出计价提示,其中Truck收费2元/小时,Carriage收费1.5元/小时,Car收费1元/小时。 6.重载输入“>>”操作符,使得可以通过cin直接读入每车辆的相应信息。 7.编写main函数,测试上述所要求的各种功能,即根据菜单命令为新来车辆分配停车位、开走车辆(输入车位编号)时付费、显示停车场中各车辆的数量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值