get和set的作用
从学习《大话设计模式》开始,就一直和get、set打交道,但是直到写这篇博客之前,对它还不甚明白。get、set到底起到一个什么作用呢?
【举例】
<strong><span style="font-family:KaiTi_GB2312;font-size:18px;"> Private Money As StringPublic Property bank() As StringGetReturn Money End GetSet(value As String)Money = valueEnd SetEnd Property</span></strong>
【作用】get和set在这里的作用其实是为了访问设置变量的,因为封装了原先的变量所以这样可使数据更加安全;get和set分别对应的是可读和可写。
【解析】系统会先分配一个叫 Money 的private私有的内存空间,之后的读与写的操作都是通过bank这个public的类似于指针的东西来关联 Money 进行,以此达到封装的目的,并且通过get和set关键字也可以控制可读还是可写。
通俗的讲,Money 就像银行里的自动取款机,你看不见里面的Money,但你能用set(存钱),用get(取钱)。Money是一个私有字段,是分装在类中的,类以外的程序不能直接访问的。类的set和get成员是外部程序访问类内部属性的唯一方法,就像你去银行取钱,你不能直接从银行的保险柜里拿钱,而是银行营业人员把钱取出来给你的。
【用法】
一是隐藏组件或类内部的真是成员;
二是用来建立约束,比如,实现“有我没你”这种约束;
三是用来响应属性变化事件,当属性变化是做某事,只要写在set方法里就行。
【总结】很多知识必须经过总结之后才会印象深刻,不要放过了解它们的每一次机会,有探索精神,站在巨人的肩膀上,才能爬的更高,站得更远!
get和set的作用相关推荐
- Object的finalize()方法的作用是否与C++的析构函数作用相同
Object的finalize()方法的作用是否与C++的析构函数作用相同 public class Finalization {private static Finalization finaliz ...
- 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
1. 变量的定义 Makefile 文件中定义变量的基本语法如下: 变量的名称=值列表 变量的名称可以由大小写字母.阿拉伯数字和下划线构成.等号左右的空白符没有明确的要求,因为在执行 make 的时候 ...
- 【B/S实践】解决:vs中修改样式表后不起作用的问题
缓存,有好多,cpu和内存之间的三级缓存,浏览器内的缓存! 缓存是因为速率不对等,通过缓存来加速内容的显示! 今天我在敲牛腩的时候遇到一个问题,找了半小时,才发现是缓存导致的问题! 试着运行aspx文 ...
- 卷积神经网络之卷积计算、作用与思想 深度学习
博客:blog.shinelee.me | 博客园 | CSDN 卷积运算与相关运算 在计算机视觉领域,卷积核.滤波器通常为较小尺寸的矩阵,比如3×33×3.从这个角度看,多层卷积是在进行逐层映射,整 ...
- 机器学习——标准化/归一化的目的、作用和场景
对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...
- Linux操作系统下文件作用
linux下的文件结构,看看每个文件夹都是干吗用的 /bin 二进制可执行命令 /dev 设备特殊文件 /etc 系统管理和配置文件 /etc/rc.d 启动的配置文件和脚本 /home 用户主目录的 ...
- python sys.argv[] 的作用
sys.argv[]是什么 argv 是sys库里面的所以使用的 需要先引入sys (使用import sys) sys.argv[]的作用 从程序外获取参数,怎样理解呢,例如在终端中运行test脚本 ...
- C++ namespace 的作用以及使用
namespace 是什么: 命名空间(namespace)是一种描述逻辑分组的机制,可以将按某些标准在逻辑上属于同一个任务中的所有类声明放在同一个命名空间中.标准C++库(不包括标准C库)中所包含的 ...
- Android Environment 的作用以及常用的方法
从源码中可以看到这样一句话 Provides access to environment variables Environment的作用是: 提供对环境变量的访问 常见的方法 //外部存储设备的当 ...
- RecyclerView Adapter中notifyDataSetChanged 的作用
一直认为notifyDataSetChanged 是 用来刷新数据的 当数据发生变化的时候调用notifyDataSetChanged 官方说:通知任何注册的观察者数据发生了改变(Notify an ...
最新文章
- 如何用飞书统计并跟进个税年度汇算清缴情况?
- 使用代码生成建立可扩展序列化器(上)
- 聊聊Servlet、Struts1、Struts2以及SpringMvc中的线程安全
- 矩阵是怎样变换向量的
- 函数指针,以及用函数指针的好用之处(回调函数)
- 了解和使用类库(47)
- V4L2学习 二 ----视频打开与保存简单流程
- 函数求值需要运行所有线程_精读《深度学习 - 函数式之美》
- 一文理清HashMap的实现及细节
- Android Studio 错误集
- LeetCode 1311. 获取你好友已观看的视频(BFS+哈希map+vector排序)
- wamp+多版本mysql_WampServer下安装多个版本的PHP、mysql、apache图文教程,_PHP教程
- web charset
- 轻量级java web实践-6(框架源码-4)
- Golang的time包的应用
- 拓端tecdat|R语言用Copulas模型的尾部相依性分析损失赔偿费用
- 总结安卓应用市场App首发活动规则
- python bp神经网络的库_python bp神经网络库
- 智能电视和网络电视有什么区别
- C++阶段06笔记01【基于STL的演讲比赛流程管理系统】