当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: private string getcontent( string str,string startstr,string laststr,string flag) 提示 getcontent 出错,怎么办? “webapplication3.webform2.getcontent(string, string, string, string)” : 并非所有的代码路径都返回值 ......
 ·如何动态创建交叉报表    »显示摘要«
    摘要: 类似象通过事务对象的syntaxformsql()函数和sql得到数据窗口语法? ......


为什么输出是这样的

我是一个刚学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    
 

NO.1   作者: pupo

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")  
  两个构造函数函数  
   
 


    摘要: 我现在实现了两个对象cfield、cfields,在cfields中实现枚举,使得可能通过for each语句来访问fields中的所有field。我实现了_newenum属性,其在idl中的定义如下:[propget, id(dispid_newenum), helpstring("property _newenum")] hresult _newenum([out,......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE