首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

c#派生类的构造函数有关问题

2012-09-15 
c#派生类的构造函数问题。public abstract class GenericCustomer{private string namepublic GenericCust

c#派生类的构造函数问题。
public abstract class GenericCustomer
  {
  private string name;

  public GenericCustomer()
  {
  name = "<no name>";
  }

  public GenericCustomer(string name)
  {
  this.name = name;
  }


  public string Name
  {
  get { return name; }
  set { name = value; }
  }

  }

  public class Nevermore60Customer : GenericCustomer
  {
  private string referrerName;
  private uint highCostMinutesUsed;

  public Nevermore60Customer(string name)
  : this(name, "<None>")
  {
  }

  public Nevermore60Customer(string name, string referrerName)
  : base(name)
  {
  this.referrerName = referrerName;
  }

  public string ReferrerName
  {
  get { return referrerName; }
  set { referrerName = value; }
  }

  }


这一条
 public Nevermore60Customer(string name, string referrerName)
  : base(name)
base(name)是不把name传递给基类的构造函数啊?如果要把referrerName也传到基类
是不是要这样写呢public Nevermore60Customer(string name, string referrerName)
  : base(name,referrerName)

如果是这样那这个
 public Nevermore60Customer(string name)
  : this(name, "<None>")
  {
  }
是什么情况啊。这个name能传到基类吗?
this是什么情况啊。还有这个函数只有一个参数name
那<none>是不是就可以看成空气啊。书上我看了很多遍了,没看懂,来这里求大神。。

[解决办法]
this 是调用自身的另一个构造函数重载。
base 是调用父类构造函数。

热点排行