1, C# 构造函数
- 当重写构造函数,则默认无参构造函数会失效,如下代码:
class Program
{
private static void Main(string[] args)
{
A a = new A();//会报错!!!
}
}
class A
{
public A(string name)
{
_name= name;
}
private string _name;
}
- 如需要无参的构造函数存在,需重载一个无参数构造函数,如下代码:
class Program
{
private static void Main(string[] args)
{
A a1 = new A();
A a2 = new A("hello");
}
}
class A
{
public A()
{
}
public A(string name)
{
_name= name;
}
private string _name;
}
- A1继承中构造过程,如下代码:
1,将name通过base传给基类A的构造函数,进行基类A创建
2,调用A1的构造函数,进行派生类A1创建
当不写base时,派生类会找基类的无参构造函数,找不到会报错
class A
{
public A(string name)
{
_name = name;
}
private string _name;
}
class A1 : A
{
public A1(string name, int scor