为什么输出是这样的?

znlxy 2005-09-13 03:55:59
我是一个刚学C#的门外汉,刚学就遇到了小小的问题:
using System; //第1行
public class MotorVehicle
{
public string make;
public string model;//第5行
public MotorVehicle(string make,string model)
{
Console.WriteLine("In MotorVehicle constructor");
this.make=make;
this.model=model;//第10行
Console.WriteLine("this.make="+this.make);
Console.WriteLine("this.model="+this.model);
}
public void DisplayModel()
{ //15行
Console.WriteLine("In MotorVehicle DisplayModel() method");
Console.WriteLine("model="+model);
}
}
public class Car:MotorVehicle//20行
{
public new string model;
public Car(string make, string model):base(make,"Test")
{
Console.WriteLine("In Car constructor");//25行
this.model=model;
Console.WriteLine("this.model="+this.model);
}
public new void DisplayModel()
{ //30行
Console.WriteLine("In Car DisplayModel() method");
Console.WriteLine("model="+model);
base.DisplayModel();
}
} //35行
class Example7_4
{
public static void Main()
{
Console.WriteLine("Creating a Car object"); //40行
Car myCar=new Car("Toyota","MR2");
Console.WriteLine("Back in Main() method");
Console.WriteLine("myCar.make="+myCar.make);
Console.WriteLine("myCar.model="+myCar.model);
Console.WriteLine("Calling myCar.DisplayModel()"); //45行
myCar.DisplayModel();
}
}
请问上面这个程序的输出为什么不是:
Creating a Car object
Back in Main() method
myCar.make=Toyota
myCar.model=MR2
Calling myCar.DisplayModel()
In Car DisplayModel() methed
model=MR2
In MotorVehicle DisplayModel() method
model=Test
而是:
Creating a Car object
In MotorVehicle constructor
this.make=Toyota
this.model=Test
In Car constructor
this.model=MR2
Back in Main() method
myCar.make=Toyota
myCar.model=MR2
Calling myCar.DisplayModel()
In Car DisplayModel() methed
model=MR2
In MotorVehicle DisplayModel() method
model=Test
...全文
75 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
pupo 2005-09-13
  • 打赏
  • 举报
回复
Car myCar=new Car("Toyota","MR2");

构造Car的时候会执行Car的构造函数,而Car又是继承自MotorVehicle,所以会执行
public MotorVehicle(string make,string model)
public Car(string make, string model):base(make,"Test")
两个构造函数函数

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧