临时扩展Java中的现有对象-这是一个好主意吗?

qiubit

我正在实现一种算法,在此算法中,我们必须临时排序现有对象(在执行算法期间,我们将根据此顺序比较它们)。我正在考虑做到这一点的最佳方法,同时要与OOP范例保持一致。

因此,让我们考虑以下示例。我们有Car类的对象,现在我们想在此类对象上使用该算法。因此,我想到了制作一个OrderedCar子类,该子类在其字段中将具有唯一的int。此类将具有一个函数- ArrayList<OrderedCar> defineOrder(ArrayList<Car> order),该函数将输出OrderedCar列表,​​其中的数字与订单表中给定汽车的索引相对应。然后,我们将能够使用已初始化的数字来比较OrderedCars。然后,我们可以在OrderedCars上执行算法,并在算法终止后将其转换为Cars。

在算法期间,我需要Car类中的所有方法,这就是为什么我想到将OrderedCar成为子类。这是个好主意吗?另外,如何在Java中创建一个构造函数,该构造函数将“复制”汽车并为其分配一个数字(我在想类似的东西public OrderedCar(Car c, int order),但是为了“复制”汽车c怎么办?不想单独复制所有字段,Java中是否有某种快捷方式?)

凯文·沃克曼

您可能更喜欢使用组合而不是继承,而只需创建一个包含Car及其顺序的类:

public class OrderedCar{
   private int order;
   private Car car;

   public OrderedCar(int order, Car car){
      this.order = order;
      this.car = car;
   }

   public int getOrder(){
      return order;
   }

   public Car getCar(){
      return car;
   }
}

然后,您可以按其顺序对此类进行排序,每当需要在其汽车上进行操作时,只需调用getCar()函数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用宏在C中实现通用向量。这是一个好主意吗?

来自分类Dev

类库中的SignalR集线器?这是一个好主意还是一个坏主意?

来自分类Dev

有一个单独的socket.io.js文件副本,而不是依赖socket.io应用程序提供的文件,这是一个好主意吗?

来自分类Dev

在输出对象中包含其他信息是一个好主意吗?

来自分类Dev

通过引用传递Error对象,而不是从方法中抛出异常,是一个好主意吗?

来自分类Dev

清空Windows临时文件夹是一个好主意吗?

来自分类Dev

在单元测试中使用依赖注入对象不是一个好主意吗?

来自分类Dev

片段将所有导航控件委托给Activity是一个好主意吗?

来自分类Dev

片段将所有导航控件委派给Activity是一个好主意吗?

来自分类Dev

始终使用Java Beans命名约定是一个好主意吗?

来自分类Dev

在C ++构造函数中循环是一个好主意吗?

来自分类Dev

使用goto避免深度函数调用中的堆栈溢出是一个好主意吗?

来自分类Dev

在AngularJS应用程序中创建多个ng-app是一个好主意吗?

来自分类Dev

使用“ is”检查变量中包含哪个函数是一个好主意吗?

来自分类Dev

在单元测试中使用与被测系统中相同的常量是一个好主意吗?

来自分类Dev

在Javascript中以“功能形式”的if-as-expression是一个好主意吗?

来自分类Dev

对于移动应用程序中的会话管理,cookie是一个好主意吗?

来自分类Dev

在14.04中安装nvidia 361驱动程序是一个好主意吗?

来自分类Dev

在我的代码中包含空块是一个好主意吗

来自分类Dev

将“ screen -r”放在我的.bashrc中是一个好主意吗?

来自分类Dev

覆盖指令中的控制器功能是一个好主意吗?

来自分类Dev

将所有帮助程序类合并到一个巨大的类中是一个好主意吗?

来自分类Dev

根据DDD在域对象中具有save(),get()和delete()操作是一个好主意吗

来自分类Dev

将加密的密码密钥存储在另一个表中是一个好主意吗?

来自分类Dev

在Haskell中嵌套对是一个好主意

来自分类Dev

在Haskell中嵌套对是一个好主意

来自分类Dev

检查参数值是否为null,然后初始化对象。这是个好主意吗?

来自分类Dev

让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

来自分类Dev

将数据作为键存储在具有空/空值的HashMap中是一个好主意吗?

Related 相关文章

  1. 1

    使用宏在C中实现通用向量。这是一个好主意吗?

  2. 2

    类库中的SignalR集线器?这是一个好主意还是一个坏主意?

  3. 3

    有一个单独的socket.io.js文件副本,而不是依赖socket.io应用程序提供的文件,这是一个好主意吗?

  4. 4

    在输出对象中包含其他信息是一个好主意吗?

  5. 5

    通过引用传递Error对象,而不是从方法中抛出异常,是一个好主意吗?

  6. 6

    清空Windows临时文件夹是一个好主意吗?

  7. 7

    在单元测试中使用依赖注入对象不是一个好主意吗?

  8. 8

    片段将所有导航控件委托给Activity是一个好主意吗?

  9. 9

    片段将所有导航控件委派给Activity是一个好主意吗?

  10. 10

    始终使用Java Beans命名约定是一个好主意吗?

  11. 11

    在C ++构造函数中循环是一个好主意吗?

  12. 12

    使用goto避免深度函数调用中的堆栈溢出是一个好主意吗?

  13. 13

    在AngularJS应用程序中创建多个ng-app是一个好主意吗?

  14. 14

    使用“ is”检查变量中包含哪个函数是一个好主意吗?

  15. 15

    在单元测试中使用与被测系统中相同的常量是一个好主意吗?

  16. 16

    在Javascript中以“功能形式”的if-as-expression是一个好主意吗?

  17. 17

    对于移动应用程序中的会话管理,cookie是一个好主意吗?

  18. 18

    在14.04中安装nvidia 361驱动程序是一个好主意吗?

  19. 19

    在我的代码中包含空块是一个好主意吗

  20. 20

    将“ screen -r”放在我的.bashrc中是一个好主意吗?

  21. 21

    覆盖指令中的控制器功能是一个好主意吗?

  22. 22

    将所有帮助程序类合并到一个巨大的类中是一个好主意吗?

  23. 23

    根据DDD在域对象中具有save(),get()和delete()操作是一个好主意吗

  24. 24

    将加密的密码密钥存储在另一个表中是一个好主意吗?

  25. 25

    在Haskell中嵌套对是一个好主意

  26. 26

    在Haskell中嵌套对是一个好主意

  27. 27

    检查参数值是否为null,然后初始化对象。这是个好主意吗?

  28. 28

    让 SQL 表条目引用同一个表中的其他 ID 是个好主意吗?

  29. 29

    将数据作为键存储在具有空/空值的HashMap中是一个好主意吗?

热门标签

归档