c# - 如何使用基构造函数实例化继承类?

标签 c# oop inheritance constructor

我开始相信这是不可能的,但我想看看是否还有其他我忽略的东西可以帮助我解决这个问题。

使用此设置:

public abstract class parent
{
    protected int x;

    public parent(int i)
    {
        x = i;
    }
}

public class child : parent { }

我有能力做到这一点吗:

child c = new child(2);  

哪个使用基本构造函数实例化子类?

我想要这样做的原因是,我想避免必须为所有派生类实现相同的构造函数,而它们实际上都在做相同的事情,即将一个值初始化为继承的成员。

我还想避免在每个子实现中编写此内容:

public child(int i) : base(i) { }

那么,如何使构造函数可继承呢?如果不可能,我该怎么做才能模拟这个?

最佳答案

您可以使用工厂模式并重写子类中的工厂方法,而不是直接使用构造函数。

关于c# - 如何使用基构造函数实例化继承类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28874592/

相关文章:

java - 一个类怎么会有自己类型的成员,这不是无限递归吗?

language-agnostic - 多态性如何替换循环内的 if-else 语句?

c++ - 如何编写构造函数

c++ - OOP - 抽象类类型,在基类和派生类中初始化变量

Java无法重写构造函数中使用的方法: The method setupAnimationFrames() of type Slime must override or implement a supertype method

c# - 命令行参数

c# - ScrollViewer 鼠标滚轮不滚动

c# - 每次调用时更改行为的最小起订量语法是什么?

使用从抽象类继承的 C++ 默认构造函数

c# - 在 try catch 中使用 try catch 好吗?