//继承的类,子类会调用父类无参的构造函数。从底层开始,一个父类,一个父类的调用.
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#继承构造函数实现及调用
public class MyClass3 : MyClass2
{
public MyClass3()
{
Console.WriteLine("MyClass3:默认构造函数");
}
public MyClass3(int a, int b)
{
Console.WriteLine("MyClass3带参构造:a={0}, b={1}.", a, b);
}
}
public class runMyApp
{
static void Main()
{
MyClass3 my = new MyClass3(3, 4);
Console.WriteLine();
}
}
//1.构造函数继承的时候,先调用基类的构造函数方法,再调用自己的构造函数方法
//2.子类构造函数可以继承父类不同参数个数的构造函数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 构造函数继承
{
//1.构造函数继承的时候,先调用基类的构造函数方法,再调用自己的构造函数方法
//2.子类构造函数可以继承父类不同参数个数的构造函数
class Class1
{
public Class1(string a, string b)
{
Console.WriteLine("Class1 2个参数的构造函数,a={0},b={1}", a, b);
}
}
class Class2 : Class1
{
public Class2():base("class2_a","class2_b")
{
Console.WriteLine("Class2无参构造函数 继承自Class1的被调用");
}
}
class Test
{
static void Main(string[] args)
{
Class2 class2 = new Class2();
}
}
}