日期:2014-05-18 浏览次数:20843 次
public ChongDian chdian{ get; set; } //此处chdain是不是已经被封闭成了属性?
------解决方案--------------------
ggg.chdian = new DianChi();
------解决方案--------------------
属性只不过是一种所发(或者说是一种写法),属性还要有类型的
------解决方案--------------------
属性也是一种类型
如:public ChongDian chdian{ get; set; }返回ChongDian也是一种类型
而你的new DianChi();也返回一种ChongDian类型的实例。
这样理解一下。
而封装的概念你可以再查一下资料,你给出的整个代码和封装没有任何关系。
封装更重要的是体现于类,组件,项目,工程之间
------解决方案--------------------
public ChongDian chdian{ get; set; }
chaian是属性,设值和取值都是ChongDian类型
GongLei ggg = new GongLei();
ggg.chdian = new DianChi();
实例化一个GongLei对象ggg,给这个对象的chdian属性赋值,因为要赋的值是ChongDian类型,这里new一个DianChi对象赋值给chdian属性。DianChi类可能是ChongDian的子类,继承了ChongDian类。
------解决方案--------------------
class GongLei
  {
  public ChongDian chdian{ get; set; } //此处chdain是不是已经被封闭成了属性?
  public void Chon()
  {
  chdian.Chong();
  }
 static void Main(string[] args)
  {
  GongLei ggg = new GongLei();
  [color=#FF0000]ggg.chdian = new DianChi();[/color] //如果chdain是属性,那么现在new DianChi()这个new出来的实例给赋给属性chdian
  ggg.Chon();
  Console.Read();
  }
可以这样看
DianChi dc = new DianChi()
[color=#FF0000]ggg.chdian = dc;[/color]
另 上面属性的类型是 ChongDian,下面不知道怎么会有个 DianChi..