c# 子类如何调用父类的构造函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 子类如何调用父类的构造函数相关的知识,希望对你有一定的参考价值。

参考技术A 可以使用base(传递给父类构造函数的参数来调用)。

如:
using static System.Console;
class B:A

static void Main()

new B();
ReadKey();

internal B():base("父类")

WriteLine("子类");


class A

internal A(string msg)

WriteLine($"msg");

子类可以继承父类的啥

参考技术A

子类可以获得除private权限以外的所有父类属性,但是:

1、在子类继承父类的时候,子类必须调用父类的构造函数。

2、如果父类有默认构造函数,子类实例化时自动调用,但如果父类没有默认构造函数,即无形参构造函数,子类构造函数必须通过super调用父类的构造函数。

3、还有在java的继承当中子类是不可以继承父类的构造函数只能调用,这是肯定的。

扩展资料:

1、子类拥有父类得特征,而父类没有,父类更通用,子类更具体,(特征包括属性和方法,自身的特性,拥有父类没有的)。

2、使用extends继承父类,语句格式:class 子类名 extends 父类名。

3、父类中一般只定义一般属性和方法(这个一般可以理解为是子类共有的,这就是父类更通用,而子类拥有其他的,所以子类更具体)。

4、子类中通过super关键字来调用父构造方法。

5、在子类中可以继承父类得那些东西,哪些不可以继承父类中public,protected修饰的属性,方法可以继承,private修饰的属性和方法不能被继承。

6、规则: 创建子类对象的时候,首先调用的是父类的无参构造方法创建一个父类对象

7、可以在子类中显示调用父类的有参构造方法。

8、如果父类的属性均为private修饰,则可以通过共有的getter,setter方法来调用。

有些编程语言支持多重继承,即一个子类别可以同时有多个父类别,比如C++编程语言;而在有些编程语言中,一个子类别只能继承自一个父类别,比如Java编程语言,这时可以利用接口来实现与多重继承相似的效果。

现今面向对象程式设计技巧中,继承并非以继承类别的“行为”为主,而是继承类别的“型态”,使得元件的型态一致。另外在设计模式中提到一个守则,“多用合成,少用继承”,此守则也是用来处理继承无法在执行期动态扩充行为的遗憾。

参考资料来源:百度百科-继承

以上是关于c# 子类如何调用父类的构造函数的主要内容,如果未能解决你的问题,请参考以下文章

请教一下C#中父类静态构造函数在子类中为啥不会和子类的静态构造函数一起执行

在java语言里如何在子类中调用父类的有参构造函数

子类为啥要调用父类的构造函数

子类都会首先调用父类的构造函数吗?

C++中如何在子类的构造函数中调用基类的构造函数来初始化基类成员变量

java子类构造中怎么调用父类的构造函数