gpt4 book ai didi

oop - 亚马逊面试问题: Design an OO parking lot

转载 作者:行者123 更新时间:2023-12-03 04:41:01 25 4
gpt4 key购买 nike

设计一个面向对象的 parking 场。它有什么类和功能。应该说,满了,空了,还可以找到代客泊车的地方。该 parking 场有 3 种不同类型的 parking 位:普通 parking 位、残疾人 parking 位和紧凑型 parking 位。

谢谢!

最佳答案

这是让齿轮转动的快速入门...

ParkingLot 是一个类。

ParkingSpace 是一个类。

parking 位有一个入口。

入口有一个位置,或更具体地说,是距入口的距离。

ParkingLotSign 是一个类。

parking 场有一个 parking 场标志。

parking 场的 parking 位数量有限。

残疾人 parking 位是 parking 位的子类。

RegularParkingSpace 是 ParkingSpace 的子类。

CompactParkingSpace 是 ParkingSpace 的子类。

ParkingLot 保留了 ParkingSpaces 数组,以及按照距其入口的距离的顺序排列的单独的空闲 ParkingSpaces 数组。

可以通过调用 .Full()、.Empty() 或 .Normal() 来告诉 ParkingLotSign 显示“已满”、“空”或“空白/正常/部分占用”

帕克是一个类。

帕克可以 Park()。

Parker 可以 Unpark()。

Valet 是 Parker 的子类,可以调用 ParkingLot.FindVacantSpaceNearestEntrance(),返回一个 ParkingSpace。

帕克有一个 parking 位。

Parker 可以调用 ParkingSpace.Take() 和 ParkingSpace.Vacate()。

Parker 调用 Entrance.Entering() 和 Entrance.Exiting(),ParkingSpace 会在有人或空出时通知 ParkingLot,以便 ParkingLot 可以确定是否已满。如果它是新满或新空或新未满或空,则应更改 ParkingLotSign.Full() 或 ParkingLotSign.Empty() 或 ParkingLotSign.Normal()。

HandicappedParker 可以是 Parker 的子类,CompactParker 可以是 Parker 的子类,RegularParker 可以是 Parker 的子类。 (实际上可能有点矫枉过正。)

在此解决方案中,Parker 可能应重命名为 Car。

关于oop - 亚马逊面试问题: Design an OO parking lot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/764933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com