我想知道在java中进行以下分类的最佳方法是什么。例如,我们有一个简单的应用程序,具有以下分类:
我最初的想法是制作motor和nonMotor抽象类,然后将它们与其他类扩展,然后制作类型枚举的水,空气和地球,但我不确定是否这样做最好的方法。我将拥有ID,型号和类型(取决于分类)字段,之后将要按ID进行搜索。任何想法将受到高度赞赏:)谢谢!
答案 0 :(得分:1)
也许你想要一个Vehicle
抽象类。这个类可以有一个Motor
类型的属性,它可以是抽象的,然后根据你想要的设计在子类中扩展。
This tutorial可以帮助您确定何时需要抽象类。
希望它有所帮助。
答案 1 :(得分:0)
您还可以将接口用于地球,水和空气。所以你可以通过界面获取主要内容。
另一种方法是检查类之间的继承。因此,您可以将相同的内容外包给父类,并逐步扩展此步骤
我认为规范地球,水和空气的枚举也是一个神的想法,因为许多其他变量和功能对于地球,水或空气中的车辆都是相同的。
如果我要开发这个stuf,我会做一个uml概念。
答案 2 :(得分:0)
为了保持多功能性,我会制作Air和Earth接口以及MotorType和NonMotorType抽象类,它们都扩展了VehicleType超类。
像Bicycle这样的类会扩展NonMotorType并实现Earth。
像AmphibianCar这样的类会扩展MotorType并实现地球和水。