在构造函数中使用派生类实例化基类引用

萨布丽娜:

我有派生自类A的类A1和A2。我有一个对A类的引用,我想使用它的构造函数根据参数根据A1或A2实例化对象。

class A {
    public A(bool someCondition) {
        if (someCondition) {
            //this = new A1() //this does not work
        } else {
            //this = new A2() //this does not work
        }
    }
}

有可能实现这一目标吗?

安德鲁尼:

简单。只是不要在A构造函数中执行此操作为此,您需要一个静态生成器方法:

class A {
    public static A build(bool someCondition) {
        if (someCondition) {
            return new A1();
        } else {
            return new A2();
        }
    }
}

但是,A根本不可能在构造函数内部执行该操作任何特定类的构造函数都是您要说的:给我该特定类的实例,而不是其他;-)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在基类构造函数中使用派生类属性

来自分类Dev

继承-实例化基类构造函数所需的派生类

来自分类Dev

在派生类和基类中使用静态构造函数的问题

来自分类Dev

如何在基类构造函数中使用派生类成员

来自分类Dev

在 C# 中使用基类和派生类实例化数组中的对象

来自分类Dev

从派生类构造函数调用基类构造函数

来自分类Dev

在基类构造函数中使用抽象类作为参数,以在派生类中具有更多特定类型

来自分类Java

是否可以使用lombok从基类实例构造派生类实例?

来自分类Dev

了解在基类构造函数中实例化了哪个派生类

来自分类Java

从Java中的派生类调用基类构造函数

来自分类Dev

从模板派生类调用模板基类的构造函数

来自分类Dev

复制派生类的构造函数,更改基类

来自分类Dev

在声明派生类时调用基类的构造函数

来自分类Dev

从派生类访问模板基类的构造函数

来自分类Dev

使用基类实例创建派生类实例

来自分类Dev

如何提示基类函数返回派生类的实例?

来自分类Java

在派生类构造函数(或工厂)中初始化基类的模式

来自分类Dev

如何在派生类构造函数中初始化基类成员变量?

来自分类Dev

为什么派生类的构造函数要在C ++中初始化虚拟基类?

来自分类Dev

基类的工厂方法实例化派生类

来自分类Dev

如何从派生类实例化基类内部的数组?

来自分类Dev

如何使用指向函数的指针在基类构造函数中调用派生类的方法?

来自分类Dev

在基类构造函数中对派生类使用重写函数

来自分类Dev

从派生类成员初始化基类引用

来自分类Dev

如何使用基类的数据成员作为派生类的构造函数?(在 C++ 中)

来自分类Dev

为什么派生类需要使用基类构造函数

来自分类Dev

无法获取派生类以使用其基类的构造函数

来自分类Dev

创建基类对象使用派生类构造函数c ++

来自分类Dev

不能在派生类构造函数中实例化new属性

Related 相关文章

  1. 1

    在基类构造函数中使用派生类属性

  2. 2

    继承-实例化基类构造函数所需的派生类

  3. 3

    在派生类和基类中使用静态构造函数的问题

  4. 4

    如何在基类构造函数中使用派生类成员

  5. 5

    在 C# 中使用基类和派生类实例化数组中的对象

  6. 6

    从派生类构造函数调用基类构造函数

  7. 7

    在基类构造函数中使用抽象类作为参数,以在派生类中具有更多特定类型

  8. 8

    是否可以使用lombok从基类实例构造派生类实例?

  9. 9

    了解在基类构造函数中实例化了哪个派生类

  10. 10

    从Java中的派生类调用基类构造函数

  11. 11

    从模板派生类调用模板基类的构造函数

  12. 12

    复制派生类的构造函数,更改基类

  13. 13

    在声明派生类时调用基类的构造函数

  14. 14

    从派生类访问模板基类的构造函数

  15. 15

    使用基类实例创建派生类实例

  16. 16

    如何提示基类函数返回派生类的实例?

  17. 17

    在派生类构造函数(或工厂)中初始化基类的模式

  18. 18

    如何在派生类构造函数中初始化基类成员变量?

  19. 19

    为什么派生类的构造函数要在C ++中初始化虚拟基类?

  20. 20

    基类的工厂方法实例化派生类

  21. 21

    如何从派生类实例化基类内部的数组?

  22. 22

    如何使用指向函数的指针在基类构造函数中调用派生类的方法?

  23. 23

    在基类构造函数中对派生类使用重写函数

  24. 24

    从派生类成员初始化基类引用

  25. 25

    如何使用基类的数据成员作为派生类的构造函数?(在 C++ 中)

  26. 26

    为什么派生类需要使用基类构造函数

  27. 27

    无法获取派生类以使用其基类的构造函数

  28. 28

    创建基类对象使用派生类构造函数c ++

  29. 29

    不能在派生类构造函数中实例化new属性

热门标签

归档