网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
01月02日漏签0天
c#吧 关注:188,714贴子:824,206
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 4回复贴,共1页
<<返回c#吧
>0< 加载中...

C#中属性存在的意义是?成员方法为什么能访问private字段呢?

  • 只看楼主
  • 收藏

  • 回复
  • 没事拍拍拍
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
属性可以给对象中private修饰的成员字段,安全地取值、赋值,可成员方法也可以同样做到啊。那不就极大的弱化了属性的存在的意义了?除了让使用此类的其它外部开发人员给new出的对象的成员字段安全赋值,好像没啥用途了,也就是说属性仅供其它外部开发人员使用吗,难道就不建议类的开发者在该类中写其它成员方法是使用属性返回吗(姐就是说,在普通的成员方法里,应该直接调用成员字段还是属性)?
如:
class P { private string name;//C#类的成员字段
public string Name//C#类的属性 { get { return this.name; } set { this.name = value; } }
public String xianyouzhi0(){//C#类的成员方法 返回属性(获取的)值
return Name;
}
public String xianyouzhi1(){//C#类的成员方法 直接返回成员字段
return name;
}
}
执行效果:都能显示,难道就像我详细描述中的那样只是个使用者、维护者的关系?维护者在成员方法里就应该直接调用对象的成员字段?


  • 没事拍拍拍
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
题目不应该写:成员方法为什么能访问private字段呢?
我的本意是:成员方法可以访问private字段有点不合理,这样就失去了属性对成员字段的保护


2026-01-02 06:03:30
广告
不感兴趣
开通SVIP免广告
  • sowo
  • c#牛人
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
属性本身就是一个概念,可以在一个属性里分别完成取值和赋值的操作。方法也可以,java没有属性,要分别写一个get和set方法,非常麻烦。class里的变量修饰是用来限制继承和外部访问的,方法也在类内,不能访问才奇怪


  • sky贝爷
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
如果成员方法不能访问,那么请问你怎么使用这些受保护的字段呢


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 4回复贴,共1页
<<返回c#吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示