gpt4 book ai didi

java - 除了构造函数重载java之外的最佳实践/设计模式

转载 作者:行者123 更新时间:2023-12-03 22:54:35 25 4
gpt4 key购买 nike

我有一个具有多个构造函数的类。每个代表不同的用例。

public class ABC {
public ABC(int x) {
...
}
public ABC(ArrayList<String> Stringarray) {
...
}
..many more constructors..
}
到目前为止,构造函数重载是干净的解决方案,直到我遇到了来自 java 编译器的相同删除问题。例如,我想添加另一个最终具有相同删除的构造函数,所以我只是选择包含一个默认参数来解决现在的问题,如下所示:
public ABC(ArrayList<String> stringArray) {

}
public ABC(ArrayList<Integer> integerArray, boolean… sameErasureFlag) {

}
但是我有一种强烈的感觉,对于这个用例来说,可能有这么多构造函数并不是一个好的设计模式。也许有一个更好的解决方案或最佳实践设计模式用于这种场景。我正在查找构建器模式,但不确定这是否正确/更好。有什么建议吗?

最佳答案

我有一个具有多个构造函数的类。每个代表不同的用例。
那么简单的答案是:将每个用例变成它自己独特的类。
在一个类中有多个不相关的字段,并且每个“用例”只使用其中一些字段的想法是 清除 表明您的类(class)正在做 东西太多 .
任何类或方法都应该只做“一件事”。所以,正如所说:答案是停在那里,而不是添加 更多 事情归为一类:问问自己如何才能有意义地将其拆开。

关于java - 除了构造函数重载java之外的最佳实践/设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66705534/

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