登录
  • 欢迎访问 Sharezer Blog

【C#笔记】构造函数实现及其调用顺序

C# sharezer 2367次浏览 已收录 0个评论

namespace TeseApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            MyClass2 my = new MyClass2(3, 4);
            Console.ReadLine();
        }
    }

    public class MyClass
    {
        public MyClass()
        {
            Console.WriteLine("MyClass:默认构造函数");
        }
        public MyClass(int a, int b)
        {
            Console.WriteLine("MyClass带参构造:a={0}, b={1}.", a, b);
        }
    }

    public class MyClass2 : MyClass
    {
        public MyClass2()
        {
            Console.WriteLine("MyClass2:默认构造函数");
        }
        public MyClass2(int a, int b)
        {
            Console.WriteLine("MyClass2带参构造:a={0}, b={1}.", a, b);
        }
    }
}

【C#笔记】构造函数实现及其调用顺序

故构造顺序为:父类默认构造 =>子类具体构造

那如果我们想实现父类的具体构造,可以采用以下的写法

namespace TeseApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            MyClass2 my = new MyClass2(3, 4);
            Console.ReadLine();
        }
    }

    public class MyClass
    {
        public MyClass()
        {
            Console.WriteLine("MyClass:默认构造函数");
        }
        public MyClass(int a, int b)
        {
            Console.WriteLine("MyClass带参构造:a={0}, b={1}.", a, b);
        }
    }

    public class MyClass2 : MyClass
    {
        public MyClass2()
        {
            Console.WriteLine("MyClass2:默认构造函数");
        }
        public MyClass2(int a, int b) : base(a, b)
        {
            Console.WriteLine("MyClass2带参构造:a={0}, b={1}.", a, b);
        }
    }
}

【C#笔记】构造函数实现及其调用顺序

故构造顺序为:父类具体构造 =>子类具体构造


Sharezer , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明【C#笔记】构造函数实现及其调用顺序
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址