c#字段和属性的区别

本文来源 https://www.cnblogs.com/green-jcx/p/9023141.html


-书写上的区别

1. 访问修饰符

字段和属性都有访问修饰符

作用:
1. 设定访问权限
2. 限制类中的成员(属性、方法等)可访问的范围
访问范围通常有,类的内部、类的外部。

常用类型:private(私有的,仅类的内部使用);public(公有的,没有访问限制)

Tips:类的成员在定义时,没有写出访问修饰符,则默认是private。
对应到字段和属性中,通常字段修饰为private属性修饰为public

2.字段

a.字段又称为:“成员变量”,一般在类的内部做数据交互使用。
b.字段命名规范:camel命名法(首单词字母小写)**。

 -字段主要是为类的内部做数据交互使用,字段一般是private。
 -字段可读可写。
 -当字段需要为外部提供数据的时候,请将字段封装为属性,而不是使用公有字段(public修饰符),这是面向对象思想所提倡的。

3.属性

a:在面向对象设计中主要使用属性描述对象的静态特征。
b:Pascal命名法(首字母大写),数据类型要和对应的字段要一致。

理解:属性本质是一个方法,其实就是外界访问私有字段的入口,属性本身不保存任何数据,
在对属性赋值和读取的时候其实就是操作的对应私有字段


-处理的是studentName字段

属性的作用

A.避免出现非法数据


通过属性的set方法加入判断逻辑,从而排除这种非法数据。
(set中加入了if条件判断
)

B.限定属性只读或者只写
例如有些属性为了保护数据,根据需要,屏蔽set或get方法达到只读和只写。
在这里插入图片描述
-无set方法

C.没有对应私有字段的属性,例如根据生日属性获取到年龄。
在这里插入图片描述
-没有表达年龄的字段,只能通过Age属性计算年龄
Convert.ToDateTime() 转换为日期型(datetime)

a.属性一般是向外提供数据,主要用来描述对象的静态特征,所以,属性一般是public。

b.属性具备get和set方法,可以在方法里加入逻辑处理数据,灵活拓展使用。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值