关于C#中对象用作属性

为了更好地体现封装,往往在类的内部用自己的对象为自己定义属性字段,乍一听觉得不太好理解,其实类比一般的属性定义就能接受,例如:

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可以一直循环下去,因为它有对象和属性的双重身份。

posted @ 2013-12-06 17:43  gisk  阅读(421)  评论(0编辑  收藏  举报
这是微黔的博客