C#基础语法_属性和私有字段

本文介绍了Java中`Student`类的属性定义,区分了自动实现的属性与手动编写getter/setter的方法。强调了字段主要用于类内数据交互,而属性用于对外提供数据,可设置只读/只写,包含业务逻辑。面向对象原则推荐将需要暴露的数据封装为属性。
摘要由CSDN通过智能技术生成

一般属性的定义方法

public class Student
{
	private string studentName;
	public string StudentName
	{
		get{return studentName};
		set{studentName= value};
	}
}

自动实现的属性

public class Student
{
	public string StudentName{get;set;}
}

使用自动实现的属性,不需要显式地编写get和set访问器以及私有字段,编译器会自动生成
快捷方式: prop + tab键 + tab键
适用要求:
不能直接操作私有字段
不能设置只读/只写属性
不能添加验证逻辑

字段与属性的比较

  • 字段(成员变量)

    • 字段主要是为类的内部做数据交互使用, 字段一般是private
    • 字段可以赋值,也可以取值
    • 当字段需要为外部提供数据的时候,请将字段封装为属性,而不是使用共有字段,这是面向对象所提倡的
  • 属性

    • 属性一般是向外提供数据,主要用来描述对象的静态特征,所以,属性一般是public的
    • 属性可以根据需要设置为只读/只写,提高数据安全性
    • 属性内部可以添加我们需要的业务逻辑,从而避免非法数据
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值