gpt4 book ai didi

java - 根据java逻辑在运行时生成一个类

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

假设我有一个非常基本的多态性案例。如何动态设置在运行时运行哪个类?

例如:

public interface Car {
abstract String carName();
}

public class BMW implements Car{
String carlogic(){
// logic
}
}


public class Audi implements Car{
String carLogic(){
//logic
}
}

在运行时,我收到一个字符串,它是汽车名称。例如。 “奥迪”、“宝马”等。如果我收到“奥迪”,我想调用 Audi.carLogic 和“BMW”BMW.carLogic。现在最简单的方法是通过 switch case 创建它,但这看起来相当困惑?我知道这也可以使用反射来完成。但为了我学习的目的,你会如何处理这个问题?

最佳答案

在“正式”应用程序中,我将使用 Spring 和 @Qualifier 注释来选择正确的实现类。不过,仅添加到测试用例或简单应用程序中就会造成很大的臃肿。

如果不使用框架,您可能需要使用工厂模式或类似模式。可以在这里找到与您的汽车场景紧密匹配的一个很好的示例:

http://howtodoinjava.com/design-patterns/creational/implementing-factory-design-pattern-in-java/

最后,因为您似乎要为汽车实现类添加前缀以匹配输入字符串,所以工厂内的反射是一个不错的选择。 (P.S. 使用 Groovy 而不仅仅是 Java 会让这变得更加容易)。

关于java - 根据java逻辑在运行时生成一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35383054/

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