[C#] get和set的演变

字段和属性的关系

属性不仅可以用作字段的置取方法(注意属性是方法),也可以另做他用(在正方形类中,只有边长没有面积字段,但返回正方形类的面积)。

属性的写法与用法

属性的写法与方法几乎相同,只是有几点不同:

  1. 不以分号结尾
  2. 方法体内包含至少get和set中的一个方法
  3. 方法体内的get与set也不以分号结尾

用法如同一个public的字段,示例见下面的第三段代码。


常规写法示例如下

public class Example
{
	public int X 
	{
    	get { return X; }
    	//value是要给X设置的值,无需自己定义
    	set { X = value; } 
	}
}

简便写法如下

//在VS中输入prop(即property属性的缩写)即可弹出属性的提示
//效果同上
public int X { get; set; }
Example example = new Example();
int a = example.X;

字段及置取方法

private int x;
//常常习惯将字段名的首字母大写,用作置取方法的名称
public int X 
{
    get { return x; }
    set { x = value; } 
}

属性作为置取方法的使用场景

当字段仅为类内使用时,使用字段即可。当字段需要被外部访问,但又需要保证数据被合理的使用时,可以使用(属性作为)置取方法封装字段。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值