我有个问题。例如,让我们考虑两个类:
class Car extends Vehicle
class Train extends Vehicle让我们假设车辆有很多字段--。我想把目标车扔到火车上。它们都扩展了Vehicle类,因此它们有许多共同的字段。我不想浪费时间来设置每个字段。在Java中有什么方法(可能是一个很好的库吗?)用最少的努力做这件事?
PS。反射可能是答案,然而,如果车辆类有更多的“复杂”类型的领域,它也将需要很多时间。
编辑:我想要创建一个基于其他对象的公共字段的对象。也许“演员”这个词是错的。是的,我知道它们是不同的,我只是想复制共同的字段。是的,我知道这是个糟糕的设计,我只是没有别的选择,我需要尽快修复写得不好的东西。
发布于 2016-10-21 08:23:54
这在Java中是不可能的。原因是汽车不是火车,尽管它们的大部分功能都是相同的。如果火车有一种方法ChooChoo,这显然对一辆车没有意义,但你试图在一辆作为火车的汽车上叫它,会发生什么呢?
解决这一问题的方法是尝试与车辆一起工作。如果您目前有一些与Trains一起工作的代码,但没有使用列车的任何细节,那么更改代码来处理车辆应该是安全的。如果它确实利用了火车的细节,那么当它通过非火车时,你期望它如何工作呢?
https://stackoverflow.com/questions/40171638
复制相似问题