Java分类 - 什么是最好的方法

时间:2014-10-22 09:20:54

标签: java

我想知道在java中进行以下分类的最佳方法是什么。例如,我们有一个简单的应用程序,具有以下分类:

  1. 空气
    ----- MotorType
    ----------- PlaneObject

    ----- NonMotorType
    ----------- Deltaplane
  2. 地球
    ----- MotorType
    ----------- CarOboject

    ---- NonMotorType
    ------------ Bycicle
  3. 我最初的想法是制作motor和nonMotor抽象类,然后将它们与其他类扩展,然后制作类型枚举的水,空气和地球,但我不确定是否这样做最好的方法。我将拥有ID,型号和类型(取决于分类)字段,之后将要按ID进行搜索。任何想法将受到高度赞赏:)谢谢!

3 个答案:

答案 0 :(得分:1)

也许你想要一个Vehicle抽象类。这个类可以有一个Motor类型的属性,它可以是抽象的,然后根据你想要的设计在子类中扩展。

This tutorial可以帮助您确定何时需要抽象类。

希望它有所帮助。

答案 1 :(得分:0)

您还可以将接口用于地球,水和空气。所以你可以通过界面获取主要内容。

另一种方法是检查类之间的继承。因此,您可以将相同的内容外包给父类,并逐步扩展此步骤

我认为规范地球,水和空气的枚举也是一个神的想法,因为许多其他变量和功能对于地球,水或空气中的车辆都是相同的。

如果我要开发这个stuf,我会做一个uml概念。

  • 电机(可能是接口)
    • 地球
    • 空气
  • 非马达
    • 地球
    • 空气

答案 2 :(得分:0)

为了保持多功能性,我会制作Air和Earth接口以及MotorType和NonMotorType抽象类,它们都扩展了VehicleType超类。

像Bicycle这样的类会扩展NonMotorType并实现Earth。

像AmphibianCar这样的类会扩展MotorType并实现地球和水。