标题:封装属性问题,求解释 !
只看楼主
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
结帖率:86.96%
已结贴  问题点数:20 回复次数:3 
封装属性问题,求解释 !
程序代码:
 public class Person
        {
            private string name;         //字段定义为private ,封装后的属性是public, 可以理解
            public string Name
            {
                get { return name; }
                set { name = value; }
            }

            protected int age (原字段) --字段定义为protected,封装后,自己变成private了,属性编程protected了如下://求原因 ?

            private int age;    

            protected int Age        
            {
                get { return age; }
                set { age = value; }
            }
        }


[ 本帖最后由 one_june 于 2011-11-3 22:47 编辑 ]
搜索更多相关主题的帖子: color 
2011-11-03 22:45
a6068132
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:47
专家分:131
注 册:2011-5-10
得分:7 
如果你写成这样  protected int age;   
哪要这个干吗
            protected int Age        
            {
                get { return age; }
                set { age = value; }
            }
2011-11-04 11:01
yangwenwei
Rank: 2
等 级:论坛游民
帖 子:20
专家分:28
注 册:2011-10-24
得分:7 
一般属性时对外提供接口的,不想类有公开的成员变量。
如果两个都是保护类型,那字段和属性 起到同一作用,重复了……      
2011-11-04 14:50
serious
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:81
专家分:497
注 册:2009-8-18
得分:7 
如果你不需要用一个字段,你可以写:
public string Name { get; set; }
protected int Age { get; set; }
C#的编译器产生一个隐藏的字段。
2011-11-05 07:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-354221-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.092439 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved