基础学习:关于this在派生类构造函数中的理解

https://www.cnblogs.com/Bear-Study-Hard/archive/2006/01/09/313551.html

看了上面这篇文章有感,特做了个小样板,以加深对于this在派生类中的理解

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace ConsoleApp77
 8 {
 9     public class MyBaseClass
10     {
11         public MyBaseClass()
12         {
13             Console.WriteLine("我是基类,无参构造函数!");
14         }
15 
16         public MyBaseClass(int i)
17         {
18             Console.WriteLine("我是基类,有参,参数为{0}", i);
19         }
20     }
21 
22     public class MyDerivedClass : MyBaseClass
23     {
24         public MyDerivedClass() : this(5,6)
25         {
26             Console.WriteLine("我是派生类,无参构造函数!");
27         }
28 
29         public MyDerivedClass(int i)
30         {
31             Console.WriteLine("我是派生类,有参构造函数,参数:{0}", i);
32         }
33 
34         public MyDerivedClass(int i , int j)
35         {
36             Console.WriteLine("我是派生类,有参构造函数,参数:{0},{1}",i,j);
37         }
38     }
39 
40     class Program
41     {
42         static void Main(string[] args)
43         {
44             MyDerivedClass myder = new MyDerivedClass();
45         }
46     }
47 }
View Code

这段代码将执行以下序列:
    1.执行System.Object.Object()构造函数。
    2.执行MyBaseClass.MyBaseClass( )构造函数。
    3.执行MyDerivedClass.MyDerivedClass(int i,int j)构造函数。
    4.执行MyDerivedClass.MyDerivedClass()构造函数。

猜你喜欢

转载自www.cnblogs.com/chenlight/p/12505374.html