为了更好地体现封装,往往在类的内部用自己的对象为自己定义属性字段,乍一听觉得不太好理解,其实类比一般的属性定义就能接受,例如:
public class Person { public string Name { set; get; } public int Age { set; get; } public Person Father { set; get; }//把自己的对象当成属性来用,类比int age道理一样。 }
这样就可以将后来在实例化的对象赋给原来的对象的“属性”上,封装度更高,调用也更方便。例如:
Person p = new Person(); p.Name = "Kimi"; p.Age = 5; Person dad = new Person(); dad.Name="林志颖"; dad.Age = 39; p.Father = dad;//把对象当成属性来用
这样的话,我在其他地方如果会用到Kimi可林志颖的两个人的年龄,我只需要将p这一个对象传递过去就OK了。
而且极端的看:p.Father.Father.Father.Father可以一直循环下去,因为它有对象和属性的双重身份。