|
|
1
7
这听起来是个好地方 factory pattern . 基本上,使用返回类型为C的静态方法创建一个类cfactory。然后该方法可以决定创建a或b并返回它。 |
|
|
2
3
从C的构造函数中无法做到这一点。您可以在C中创建一个工厂方法,根据收到的数据创建A或B:
|
|
|
3
3
这就是所谓的工厂模式。 工厂模式: 简单来说,如果我们有一个超类和n个子类,并且根据提供的数据,我们必须返回其中一个子类的对象,我们使用工厂模式。 您的实现将类似于:
签出示例: http://www.allapplabs.com/java_design_patterns/factory_pattern.htm |
|
|
4
1
为什么您需要从C的构造函数内部完成这项工作?移动任何逻辑来决定将哪个类型实例化到其他地方,然后在那里创建具体的类型? |
|
|
5
1
抽象工厂方法应该帮助您决定使用C的哪个实现
然后您可以使用抽象工厂方法构建列表… 希望这有帮助… |
|
|
6
0
不可以。不能从C的构造函数创建A或B对象。 您可以从C中的静态方法创建A或B,或者,您可以创建一些这样做的工厂类。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |