博客
关于我
[Unity&对象]怎么理解变量public 还是private ,还是使用getset方法定义
阅读量:471 次
发布时间:2019-03-06

本文共 1966 字,大约阅读时间需要 6 分钟。

get/scalar Control in C#: Understanding Accessibilities and encapsulation

孟德国 ITags 分析器部门,团队5

在 C#开发中,属性的定义方式有多种方式,最常见的包括using public和private定义方式,以及通过get/set方法进行操作。此外,还可以对某些变量进行条件判断,这种方法在提高代码的可维护性和安全性方面具有重要意义。

什么是public和private变量?get/set方法有什么作用?

public变量可以被其他类或程序调用,而private变量只能在当前类内部使用。如果直接定义一个public变量,可能会导致泄漏,尤其是在多人协作开发项目时。为避免这种情况,通常建议使用get/set方法,这样就可以在同一个类中对变量进行操作,而不会暴露具体的变量实现细节。

为什么要使用get/set方法?

get sett方法主要在以下方面发挥作用:

  • 实现变量的安全性:通过对变量的访问进行审查,避免未经授权的访问。

  • 提升代码的可维护性:让其他程序员清楚变量的使用条件和适用场景,便于理解代码意图。

  • 增强代码的安全性:通过设置条件判断,避免变量超出合理范围,比如设置分数的上限或下限。

  • 提高尽职omorphic性:让不同职能部门的团队成员清楚,可以直接修改哪些变量,避免因不清楚变量作用而导致的问题。

  • get/set方法的一些使用场景

    除了上述作用,get sett方法可以用于多种场景:

  • 简单的属性设置:如ID字段的设置,代码简洁明了,便于快速重构继承多接口的项目。

    public int ID { get; set; }
  • 变量的封装性处理:对private字段进行简单的读写操作,确保仅在这个类中获取或设置该字段。

    private int id;public int ID { get { return id; } set { id = value; } }
  • 变量的条件审查:在设置某些变量时,添加条件判断,确保变量不会超出合理范围。

    private int score;public int Score {     get { return score; }    set     {        if (value > 0 && value < 100)        {            score = value;        }    }}
  • 对变量的访问权限进行限制:如果只想允许某些特定的类或组件修改某个字段,可以通过定义为public属性,然后在对应的get/set方法中进行权限控制。

    private string sendData;public string SendData {     get { return sendData; }    set     {        if (value.Length <= 1000)        {            sendData = value;        }    }}
  • 相关资料

  • Unity3D最佳实践:IQmoderate

    http://www.xlgps.com/article/430834.html
    该文章详细探讨了如何在Unity3D中应用get sett方法,以提高代码的可维护性和安全性。

  • C#中get sett属性的作用

    https://zhidao.baidu.com/question/182739116
    该问答解释了get sett方法与属性定义的区别,帮助开发者理解两者之间的联系与差异。

  • Java中类的封装性

    https://zhidao.baidu.com/question/1540144388047863747
    该问题分析了类的封装性及其与get sett方法的结合使用。

  • C#属性定义的规范性

    https://zhidao.baidu.com/question/116540361
    该问题探讨了C#属性定义的多种方式及其规范性问题,提供了实用的建议。

  • C#中get settle的优化写法

    https://zhidao.baidu.com/question/1178693760100976539
    该问题分析了C#中属性定义的不同写法,并提出了优化建议。

  • 6."How to use primitives in C#"

    http://blog.csdn.net/bulademian/article/details/72884513
    该文章指导开发者如何在C#中合理使用基本类型,并结合get sett方法进行数据管理。

    1. "C#属性与封装性"
      该问题涉及C#中属性封装性的实现,提供了实用的开发建议。
    你可能感兴趣的文章
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    MFC模态对话框和非模态对话框
    查看>>
    Moment.js常见用法总结
    查看>>
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>