Closed. This question needs details or clarity。它当前不接受答案。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
在这个著名的Parking Lot示例中,帮助我理解OOPS的功能。
我昨天读了这篇文章,试图找出完美的底层设计。
停车场
-ParkingLot有ParkingSpaces(ParkingSpaces列表)
- 出口()
- 入口()
-更新()
-整数容量
停车位
长ID
-字符串类型(2轮车,4轮车等)
-车辆(有车辆参考)
车辆(接口-任何类型的车辆(两轮车,四轮车)
- 公园()
-Unpark()
抽象方法
-参考ParkingLot和ParkingSpace
汽车,卡车类车辆工具。
这里有什么我想念的吗...这里有我需要遵循的任何设计模式..
在此示例中,我们如何实现多态。
想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
6年前关闭。
在这个著名的Parking Lot示例中,帮助我理解OOPS的功能。
我昨天读了这篇文章,试图找出完美的底层设计。
停车场
-ParkingLot有ParkingSpaces(ParkingSpaces列表)
- 出口()
- 入口()
-更新()
-整数容量
停车位
长ID
-字符串类型(2轮车,4轮车等)
-车辆(有车辆参考)
车辆(接口-任何类型的车辆(两轮车,四轮车)
- 公园()
-Unpark()
抽象方法
-参考ParkingLot和ParkingSpace
汽车,卡车类车辆工具。
这里有什么我想念的吗...这里有我需要遵循的任何设计模式..
在此示例中,我们如何实现多态。
最佳答案
面向对象的编程在这种情况下会有所帮助,因为您的车辆界面允许您为许多不同的车辆定义类似的动作,而不必为每种类型的车辆编写这些方法/功能。
听起来您的班级(ParkingLot,ParkingSpace,汽车,卡车)和界面(车辆)都掌握得很好。如果不同类型的停车位具有不同的字段,则可以考虑使用ParkingSpace接口,然后由MotorcycleSpace,CompactSpace等实现该接口,但是现在的使用方式并不正确。多态性也随界面一起出现。
编辑:关于组成,您有一个包含ParkingSpaces的ParkingLot。如果您的Vehicle类具有Wheels或Options或其他子类,那将是额外的组成。
09-25 20:25