- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C属性的应用
公有属性是在任何外部类都可访问到的,如果有人不怀好意就会随意的修改的public字段,很危险的,但是如果改成private,就不能擅自修改,只能通过属性,而在属性里是可以加代码来判断别人付的值是否符合你的要求,不符合的可以直接拒绝赋值,这样就增加了安全性
区分C#的字段和属性
程序代码
public class TestClass
{
private string _AA;
public string BB
{
get { }
set { }
}
}
在上边例子中我们都知道_AA是字段,BB是属性,再看下边的例子:
程序代码
public class TestClass
{
public string _AA;
private string BB
{
get { }
set { }
}
}
_AA是字段还是属性?BB是字段还是属性?突然发现长久以来潜意识的竟用private和public来区分字段还是属性了,潜意识认为private的是字段,public的是属性!实际上,字段还是属性的区别应是看有无访问器,无访问器的为字段,有访问器的则为属性,所以,第二个例子中_AA仍是字段,BB仍是属性。我们再来看一个例子:
程序代码
public class TestClass
{
public string AA;
public string BB
{
get { }
set { }
}
}
对外界而言,访问上边字段和属性其实中一样的,那字段和属性有什么区别呢?个人认为主要区别有以下几点:
·可在get和set块对属性的取值范围等做限制,而字段的范围只取决于其类型,无法精确控制;
·可通过设置get和set块的有无,设置属性的读写权限;
正因为上边几点,所以我们常常在声明一个public属性的同时声明一个private字段,在字段中保存属性的值以便在读取属性值时使用:
程序代码
public class TestClass
{
public string _AA;
public string BB
{
get
{
if (_AA.Substring(0, 1) == @)
{
return _AA;
}
else
{
return string.Empty;
}
}
set { _AA = value; }
}
}
注:在类内部使用字段和属性没有一点区别,不受访问权限的限制!
反省字段与属性的区别
关于字段(field)和属性(Property)的区别:
class MyClass
{
public string Name
{
get {return Name;}
set {Name=value;}
}
}
C#中有这个功能能够将字段包装以属性的方式来读取字段的内容。也就是说可以将代码修改成下面这样:
class MyClass
{
public readonly string name;
public string Name
{
get {return name;}
set {name=value;}
}
public MyClass()
{
name=abc;
}
}
static viod Main()
{
MyClass obj1=new MyClass();
Consol.writeLine(obj1.Name);
}
输出结果为 abc;
原来属性是对字段的一种封装方式,可以使其更有实用性。
在C#中,字段和属性的区别是什么?还有为什么要封装?
字段.是指数据库中某一列.比如某数据表中有ID.NAME.那么这就是两个字段.
而属性.是指在实例类中相应的属性.针对上述字段.该类中就声明两个属性.一个ID.一个NAME.
封装起来是为了方便使用.体现面向对象.层次清楚.
如:某页面要显示某用户的信息.在该页面需要操作的数据其实都是该实例类中的属性.而不用再对数组.dataset.datatable等进行操作.
字段一般定义为私有的,为了防止外界随意访问,属性就是可控的字段访问,让用户通过属性访问字段,我们可以在属性里做很多事,比如判断用户权限、验证用户提供的值
您可能关注的文档
- 3大连医学论文发表试论肝癌自发破裂出血的手术治疗效果.doc
- 3孙全超1p浅议县级电视台新闻编辑策划的创新.doc
- 3D的动力(爆破)分析问题FLAC.doc
- 3院前急救工作制度.doc
- 3自闭症学生自主选择能力养成的实验研究反思.doc
- 3流行性腮腺炎并发脑膜脑炎126例临床分析.doc
- 3种肝炎药物对小鼠免疫功能的影响.doc
- 3试论述文艺复兴时期人文主义精神的内涵.docx
- 3种内固定材料治疗锁骨骨折的疗效比较.doc
- 3《放疗对全身各系统副作用分期标准》.docx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
最近下载
- 悬挑脚手架、落地脚手架安全专项施工方案.doc VIP
- 分级护理制度精编PPT课件.pptx VIP
- 梁德清体育活动等级量表(PARS-3)及评定标准.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)知到课后答案智慧树章节测试答案2025年春潍坊工程职业学院.docx VIP
- ABB.ACS580替换550指南了解.pdf VIP
- 2025年公需课《人工智能赋能制造业高质量发展》试题及答案.doc VIP
- 建筑施工技术(千年土木 小筑拾遗)智慧树知到期末考试答案章节答案2024年潍坊工程职业学院.docx VIP
- 2023兖矿能源定向委培考试.pdf
- 潮汕工夫茶调研报告.docx VIP
- 生活中的物理问题“生活中的物理”探究.pptx VIP
文档评论(0)