对C#中set{} get{}的一点理解

简介: 对C#中set{} get{}的一点理解

C#是一门面向对象语言, 封闭性即对类中的域变量进行封闭操作,即用private来修饰他们,如此一来其他类则不能对该变量访问,这样我们就将这些变量封闭在了类内部,这样就提高了数据的安全性。

当我们想要操作这些域变量怎么办呢?我们可以通过两种方法,

1、构造函数

第一种即通过public方式的构造器(或称构造函数),对象一实例化就对该变量赋值。

2、set和get方法

第二种就是通过上面提到的set和get方法

使用成员变量,若定义为private,则不可读,且不可写,该成员只能同过构造函数传值,其他情况无法使用。

若定义为public, 则可读又可写,不安全。

**若想可读不可写,或可写不可读,**就体现出get/set方法的用处了

public class UserInfo
        {
            //定义 用户ID 字段
            private int userid;
            public int UserID
            {
                get { return userid; }
                set { userid = value; }
            }
       }

我定义一个Person类,该类中有userid这个私有域变量,然后我定义set()、get()、这样一来,我不用直接对Person类中的域变量操作,而是通过set和get方法间接地操作这些变量,这样就能提高域变量的安全性,同时又保证了域变量的封装型。

相关文章
|
7月前
|
缓存 监控 Java
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
ThreadLocal 源码解析get(),set(), remove()用不好容易内存泄漏
89 1
|
7月前
|
网络协议 API C#
C# 中模拟 POST 和 GET 请求的原理与实践
【1月更文挑战第4天】在现代网络应用中,HTTP请求是客户端与服务器交互的基础。其中,GET和POST是最常用的两种请求方法。本文将介绍如何使用C#语言模拟这两种请求,并解释其背后的工作原理。我们将利用.NET框架中的HttpClient类来发送请求,并处理服务器的响应。通过本文,读者将能够理解HTTP请求的基本构成,学会在C#中编写代码来模拟这些请求,进而在开发过程中实现与Web服务的交互。
|
7月前
idea快速生成get set 构造方法的快捷键
idea快速生成get set 构造方法的快捷键
235 0
|
7月前
|
存储 NoSQL Ubuntu
在Ubuntu上安装Redis并学习使用get、set和keys命令
在Ubuntu上安装Redis并学习使用get、set和keys命令
|
1月前
|
Java Windows
IDEA不使用lombok,如何快速生成get和set方法
【11月更文挑战第10天】在 IntelliJ IDEA 中生成 `get` 和 `set` 方法有多种方式:通过菜单操作、使用快捷键或自定义模板。菜单操作包括选择“Code”菜单中的“Generate...”,快捷键为“Alt + Insert”。自定义模板可在“File”->“Settings”->“Editor”->“Code Style”->“Java”中设置。批量生成时,可多选变量一次性生成。
idea按住alt + insert 没有出现get和set方法怎样解决
idea按住alt + insert 没有出现get和set方法怎样解决
|
2月前
|
C#
SET访问器和GET访问器
SET访问器和GET访问器
34 2
|
4月前
|
API
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
【Azure Key Vault】.NET 代码如何访问中国区的Key Vault中的机密信息(Get/Set Secret)
|
4月前
|
Java Linux 开发者
|
4月前
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?
【Azure Redis 缓存】Azure Cache for Redis 是否记录具体读/写(Get/Set)或删除(Del)了哪些key呢?