C#学习教程:如果派生类没有参数化构造函数,如何从派生类调用基类的参数化构造函数?分享


如果派生类没有参数化构造函数,如何从派生类调用基类的参数化构造函数?

我有一个带有两个构造函数的基类:默认构造函数和参数化构造函数。 另一个类inheritance自该基类,它只有一个默认的构造函数。 如何从派生类中调用基类的参数化构造函数?

目前还不完全清楚你的问题是什么,但我怀疑你要么在你的子类中添加一个显式的无参数构造函数:

// Parameterless child constructor calling parameterized base constructor public Child() : base("foo", "bar") { } 

或添加参数化和无参数的:

 public Child() { } public Child(string foo, string bar) : base(foo, bar) { } 

请注意,构造函数不是inheritance的 – 因为基类具有特定的构造函数签名并不意味着您可以使用该签名实例化类。 儿童class必须自己提供。

任何编译器提供的无参数构造函数将始终调用其基类的无参数构造函数。

像这样的东西?

 class Parent { public Parent(){} public Parent(string s) {} } class Child : Parent { public Child() : base("42") { } } 

干得好:

上述就是C#学习教程:如果派生类没有参数化构造函数,如何从派生类调用基类的参数化构造函数?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 // Parent class class Parent { public Parent() { // Paremeterless constructor } public Parent(string a, int b) { // Paremterised constructor } } // Child class class Child : Parent { public Child() :base("hi", 10) { // Parameterized constructor of the base class is invoked } } 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/959878.html

发表评论

邮箱地址不会被公开。 必填项已用*标注