发布:2023/12/7 15:38:05作者:大数据 来源:大数据 浏览次数:594
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
using System; namespace ConsoleApp1 { class Program { static void Main(string[] args) { Console.WriteLine("注意下列执行顺序"); Console.WriteLine("\n====调用不带参数构造函数==="); var student1 = new Student(); Console.WriteLine("\n===调用带参数构造函数==="); var student2 = new Student("foo", 22); Console.WriteLine("\n===调用带参数构造函数和本对象的构造函数,使用this==="); var student3 = new Student("foo", 33,34); Console.ReadKey(); } } public class Student : Person { public Student(string name, int old) : base(name, old) { Console.WriteLine($"派生类(子类)带参数 构造函数 被调用 name={name} old={old}"); } /// <summary> /// 隐式调用基类无参数构造函数,与下面显示调用效果一样 /// </summary> public Student() { Console.WriteLine("派生类(子类)不带参数 构造函数 被调用"); } /// <summary> /// 显示调用基类构造函数 /// </summary> //public Student() : base() //{ // Console.WriteLine("派生类(子类)不带参数 构造函数 被调用"); //} public Student(string name,int old,int n) : this(name, old) { Console.WriteLine($"调用this本对象的构造函数 student(string,int),n={n}"); } } public class Person { public string Name { get; set; } public int Old { get; set; } public Person(string name, int old) { Name = name; Old = old; Console.WriteLine("基类(父类)带参数 构造函数 被调用"); } public Person() { Console.WriteLine("基类(父类)不带参数 构造函数 被调用"); } } } |
program.cs文件
结果如下图:
© Copyright 2014 - 2024 柏港建站平台 ejk5.com. 渝ICP备16000791号-4