Java OOPS停车场示例设计

时间:2010-12-15 18:48:36

标签: java oop

在这个着名的Parking Lot示例中,帮助我理解OOPS的力量。 我昨天读了这篇文章试图找出完美的低级设计。

ParkingLot - ParkingLot有ParkingSpaces(停车位列表) - 出口() - 入口() - 更新() - int capacity

ParkingSpace  长的身份   - 绳型(2轮车,4轮车等)  -Vehicle(有Vechicle参考)

车辆(接口 - 任何类型的车辆(两轮车,四轮车)  - 公园()   - Unpark()   抽象方法   - 参考ParkingLot和ParkingSpace

汽车,卡车不同类型的车辆实施车辆。

我在这里找不到任何东西......我需要遵循任何设计模式吗? 在这个例子中我们如何实现多态性。

1 个答案:

答案 0 :(得分:2)

面向对象编程在这种情况下有所帮助,因为您的车辆界面允许您为许多不同的车辆定义类似的操作,而无需为每种类型的车辆编写这些方法/功能。

听起来你的课程(ParkingLot,ParkingSpace,Car,Truck)和你的界面(车辆)都有很好的处理能力。如果不同类型的停车位有不同的区域,您可以考虑使用ParkingSpace界面,然后通过MotorcycleSpace,CompactSpace等实现,但现在如何使用它并不正确。多态性也与你的界面一起出现。

编辑:关于作文,你有一个ParkingLot有ParkingSpaces。如果您的Vehicle类具有Wheels或Options或其他子类,那么这将是额外的组合。