Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过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