在C#继承中,构造函数和析构函数执行顺序示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ProgramCall
{
class Base1
{
public Base1()
{
Console.WriteLine("It is Base Class Constructor");
}
~Base1()
{
Console.WriteLine("It is Base Class Destructor");
}
}
class Derived1 : Base1
{
public Derived1()
{
Console.WriteLine("It is Derived Class Constructor");
}
~Derived1()
{
Console.WriteLine("It is Derived Class Destructor");
}
}
class ConstructorInheritance
{
static void create()
{
Derived1 obj = new Derived1();
}
static void Main()
{
create();
GC.Collect();
Console.Read();
}
}
在本文中,我将解释C#继承中构造函数和析构函数的执行顺序。
继承是C#中的重要概念。在继承期间,基类和派生类还可以包含构造函数和析构函数。
在这种情况下,基类构造函数将被称为第一类或者派生类,这一点很容易混淆。如果我们为派生类创建一个实例,那么将首先调用基类的构造函数,当派生实例被销毁时,还将调用基类析构函数。
将首先调用基类构造函数。那么
构造函数的执行顺序将与其派生的顺序相同。
析构函数的执行顺序与派生顺序相反。
日期:2020-04-11 22:50:18 来源:oir作者:oir
