【问题标题】:Naming conventions for classes when you have two classes with the same name [closed]当您有两个具有相同名称的类时,类的命名约定[关闭]
【发布时间】:2014-06-10 19:05:37
【问题描述】:

我需要创建不同类型车辆的层次结构。

我不确定我应该如何命名每种不同类型的汽车。我的第一个想法是将它们命名为 FordTruckFordCar,但这对于每个班级来说似乎有点太多了。

我的另一个想法是为汽车和卡车创建单独的包,这样名称就不会干扰。在尝试实现同时使用CarsTrucks 的方法时,在不同包中具有相同名称似乎具有代码可读性较差的缺点。

命名文件的约定和最佳做法是什么?

【问题讨论】:

  • 在这种情况下,它可以是实现 Car 和 Truck 的单个类
  • 如果你使用后缀方式,至少要遵守标准的 Java 命名约定:FordCarFordTruck。类名从不包含下划线。
  • 清理你的抽象。道奇和福特是汽车制造商的分类;不是车辆类型。您试图用一个类层次结构表示两个抽象。每个抽象使用一个层次结构

标签: java naming-conventions hierarchy


【解决方案1】:

Make 更适合作为车辆的枚举,而不是作为一个类本身。

编辑:我将对此进行一些扩展。你创建一个 Class 来表示名词(事物),Make(Dodge、Ford、Chevy 等)是一个形容词,描述一个名词的东西。与其给它自己的类,不如让它成为它所描述的类的属性。字符串也可以,我只是选择了 Enum,因为我更喜欢它们。

【讨论】:

    【解决方案2】:

    Make 应该是 Truck 和 Car 中的标志,而不是类。正如 Mike N 所说,枚举常量就可以了。

    【讨论】:

      猜你喜欢
      • 2010-11-12
      • 1970-01-01
      • 2011-06-01
      • 2015-12-10
      • 2014-01-12
      • 2011-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多