get和set访问器

简介: get和set访问器

属性经常与字段连用,并提供了 get 访问器和 set 访问器,分别用于获取或设置字段的值。


get 访问器和 set 访问器的使用与方法非常类似,可以在操作字段时根据一些规则和条件来设置或获取字段的值。


此外,为了保证字段的安全性,还能选择省去get 访问器或 set 访问器。


定义属性的语法形式如下:

public 数据类型 属性名
{
  get
  {
    获取属性的语句块;
    return 值;
  }
  set
  {
    设置属性得到语句块;
  }
}


其中:

  • get{}get访问器,用于获取属性的值,需要在 get 语句最后使用 return 关键字返回一个与属性数据类型相兼容的值。若在属性定义中省略了该访问器,则不能在其他类中获取私有类型的字段值,因此也称为只写属性
  • set{}set 访问器,用于设置字段的值,这里需要使用一个特殊的值 value,它就是给字段赋的值。在 set 访问器省略后无法在其他类中给字段赋值,因此也称为只读属性


通常属性名的命名使用的是 Pascal 命名法,单词的首字母大写,如果是由多个单词构成,每个单词的首字母大写。


在定义字段属性时,属性的作用就是为字段提供 getset 访问器,由于操作都比较类似,在 C# 语言中可以将属性的定义简化成如下写法:

public 数据类型 属性名{get;set;}


这种方式也被称为自动属性设置


示例如下:

public int Id{get; set;}
public string Name{get; set;}
public double Price{get; set;}


如果要使用自动属性的方式来设置属性表示只读属性,直接省略 set 访问器即可。只读属性可以写成如下形式:

public int Id{get;}=1;


如果不允许其他类访问属性值,则可以在 get 访问器前面加上访问修饰符 private ,代码如下:

public int Id{private get; set;}


这样, Id 属性的 get 访问器只能在当前类中使用。

目录
相关文章
|
1月前
|
缓存 监控 Java
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
24 1
|
4月前
idea快速生成get set 构造方法的快捷键
idea快速生成get set 构造方法的快捷键
63 0
|
5月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
9月前
|
JavaScript
TypeScript get 与 set 的使用
TypeScript get 与 set 的使用
115 0
|
2天前
|
druid Java
Error attempting to get column ‘createTime‘ from result set的异常
Error attempting to get column ‘createTime‘ from result set的异常
|
1月前
|
XML Java 数据库连接
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
mybatis和mybatiplus中Error attempting to get column ‘xx‘ from result set
26 0
|
7月前
|
Java
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
Java-----抽象类为什么不能实例化?抽象方法为什么不能被static修饰?set和get方法的使用方法
|
4月前
|
存储 监控 NoSQL
搞定 Redis 数据存储原理,别只会 set、get 了
搞定 Redis 数据存储原理,别只会 set、get 了
44 0
|
4月前
|
监控 JavaScript 前端开发
【面试题】vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set
【面试题】vue2双向绑定原理:深入响应式原理defineProperty、watcher、get、set
|
9月前
|
SQL 关系型数据库 MySQL
使用IntelliJ IDEA连接数据库,快速创建实体类对象,自动生成get,set,toString方法以及无参有参构造器
使用IntelliJ IDEA连接数据库,快速创建实体类对象,自动生成get,set,toString方法以及无参有参构造器