日期:2014-05-18 浏览次数:20701 次
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..