首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >面向对象的停车场设计

面向对象的停车场设计
EN

Stack Overflow用户
提问于 2014-09-25 00:04:50
回答 1查看 3K关注 0票数 1

在准备面试的时候,这个问题突然浮现在我的脑海中。我正计划设计一个停车场,并假设以下几点:

  1. 它有多个层次。每个级别有2行。
  2. 车辆类型可以是小的,紧凑的和大的。
  3. 某一层的每一行都有多个停车位。
  4. 每个停车位都有红绿灯指示灯(红色-无停车位,无绿色空间)
  5. 此外,每个停车位都将有大小小,紧凑和大。

6(任择)。也要增加残疾人的处境。

这些是我可以提出的一些假设(不确定它们是否足够或者我需要更多)。

我在考虑如何设计这个系统,使车辆一进入停车场入口处。

应向他提供信息,说明最近的空置地点在哪里(例如- 3楼、2排、10点)

我想知道如何设计这样一个系统?我见过许多其他的设计,但我想没有一个能做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-25 00:19:04

不确定您希望通过第6点实现什么,但通过通常的抽象、继承和多态原则,通过OO设计实现其他目标非常简单。

您可以有一个名为interfaceAvailabilityIndicator,它有一个布尔方法isAvailable(),它表示灯光指示器(如果isAvailable()false,灯泡将显示红色,如果是true,则显示为绿色)。

您可以有一个名为abstract classParkingSlot,它实现了AvailabilityIndicator。这可能有水平,行和点号在其中。

您可以有3个类:LargeParkingSlotCompactParkingSlotSmallParkingSlot,它们扩展了ParkingSlot。(这并不是说您的功能实际上需要这样做,除非不同的停车位具有您想要建模的不同的行为或数据,但是由于您提到您想要OO方法,所以我提到了它,否则ParkingSlot中的一个简单的ParkingSlot参数就可以了。)

然后是车辆什么时候到达的问题,检查它需要什么类型的插槽,并查找哪些是匹配的可用插槽。您可能希望将它们放在Map数据结构中,该结构将每个插槽类型映射到可用的插槽列表中,以便当一个插槽被取下时,它被移除并放入一个单独的unavailable列表中,以便在车辆到达时快速查找available插槽。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26028441

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档