2014-10-22 63 views
0

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

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

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

    ---- NonMotorType
    ------------ Bycicle

我最初的想法是使电机和nonMotor抽象类,然后将它们与其余的类一起扩展,然后创建类型枚举的水,空气和地球,但我不确定这是否是最好的方法。我将拥有ID,型号和类型(取决于分类)字段,稍后将需要按ID搜索。任何想法将不胜感激:)谢谢!

+0

你想了解一个'空气'课程?你只想知道这是一个'空气'班,或者你想保存一些价值和/或有一些方法吗?在执行过程中,电机与非电机之间会有什么不同? – Simon 2014-10-22 09:27:14

+0

我只想知道它是水/土/空气的类型 – user3240544 2014-10-22 09:28:43

回答

0

您还可以使用接口来接地,水和空气。所以你可以通过你的界面获得主要的东西。

另一种方法是检查类之间的继承关系。所以你可以将相同的东西外包给父类,并且一步一步地扩展这个步骤

我认为规范地球,水和空气的枚举也是一个上帝的想法,因为很多其他变量和函数将是对于地球,水或空气中的车辆也是如此。

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

  • 电机(也许接口)
    • 地球
    • 空气
  • 非汽车
    • 地球
    • 一IR
1

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

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

希望它有帮助。

0

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

像Bicycle这样的类可以扩展NonMotorType并实现地球。

像AmphibianCar这样的类可以扩展MotorType并实现Earth和Water。

相关问题