为什么实例化时,有参数,但是却调用默认没有参数的构造函数呢?有代码
这些代码是“C#入门经典”的例子,但是与书上不一样,按理说,对象实例化时,如果有参数。
但是为什么没有调用带参数的基类构造函数呢?而是调用了默认的没有参数的构造函数,这是为什么呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace p171
{
public class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("基类:MyBaseClass()");
} public MyBaseClass(int i)
{
Console.WriteLine(i.ToString());
Console.WriteLine("基类:MyBaseClass (int i)");
}
} public class MyDerivedClass:MyBaseClass
{
public MyDerivedClass()
{
Console.WriteLine("派生类:MyDerivedClass()");
} public MyDerivedClass(int i)
{
Console.WriteLine(i.ToString());
Console.WriteLine("派生类:MyDerivedClass(int i)"); } public MyDerivedClass(int i,int j)
{
Console.WriteLine("派生类:MyDerivedClass (int i,int j)");
}
} class Program
{
static void Main(string[] args)
{
MyDerivedClass myobj = new MyDerivedClass(88);
Console.ReadKey();
}
}
}
这些代码是“C#入门经典”的例子,但是与书上不一样,按理说,对象实例化时,如果有参数。
但是为什么没有调用带参数的基类构造函数呢?而是调用了默认的没有参数的构造函数,这是为什么呢?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace p171
{
public class MyBaseClass
{
public MyBaseClass()
{
Console.WriteLine("基类:MyBaseClass()");
} public MyBaseClass(int i)
{
Console.WriteLine(i.ToString());
Console.WriteLine("基类:MyBaseClass (int i)");
}
} public class MyDerivedClass:MyBaseClass
{
public MyDerivedClass()
{
Console.WriteLine("派生类:MyDerivedClass()");
} public MyDerivedClass(int i)
{
Console.WriteLine(i.ToString());
Console.WriteLine("派生类:MyDerivedClass(int i)"); } public MyDerivedClass(int i,int j)
{
Console.WriteLine("派生类:MyDerivedClass (int i,int j)");
}
} class Program
{
static void Main(string[] args)
{
MyDerivedClass myobj = new MyDerivedClass(88);
Console.ReadKey();
}
}
}
{
Console.WriteLine(i.ToString());
Console.WriteLine("派生类:MyDerivedClass(int i)"); }
{
Console.WriteLine(i.ToString());
Console.WriteLine("派生类:MyDerivedClass(int i)"); }
手底下没有书,没法查,再问。