gpt4 book ai didi

java - 当一个对象都继承自同一个类时,如何以一种简单的方式将它们转换为另一个对象

转载 作者:行者123 更新时间:2023-11-29 07:32:26 25 4
gpt4 key购买 nike

我有一个问题。例如,让我们考虑两个类:

class Car extends Vehicle
class Train extends Vehicle

假设 Vehicle 有很多字段。我想将对象 Car 转换为对象 Train。它们都扩展了 Vehicle 类,因此它们有许多共同点。我不想浪费时间设置每个字段。在 Java 中有什么方法(也许是一些不错的库?)以最少的努力做到这一点?

附言。反射可能是答案,但是,如果 Vehicle 类有许多更“复杂”类型的字段,它也会花费很多时间。

编辑:我想根据其他对象的公共(public)字段创建一个对象。也许“ Actor ”这个词是错误的。是的,我知道它们不同,我只是想复制公共(public)字段。是的,我知道这是一个糟糕的设计,我只是没有其他选择,我需要快速修复写得不好的东西。

最佳答案

这在 Java 中是不可能的。原因是汽车不是火车,尽管它们可能具有大部分共同的功能。如果 Train 有一个方法 ChooChoo 会发生什么,这对汽车来说显然没有意义,但您试图在转换为 Train 的 Car 上调用它。


解决这个问题的方法是尝试使用 Vehicle。如果您当前有一些代码适用于 Trains,但未使用任何 Train 细节,则更改代码以适用于 Vehicle 应该是安全的。如果它确实使用了火车细节,那么当它通过非火车时,您期望它如何工作?

关于java - 当一个对象都继承自同一个类时,如何以一种简单的方式将它们转换为另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40171638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com