在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