数据封装的好处(Getter、Setter) - 51CTO博客
文章推薦指數: 80 %
数据封装的好处(Getter、Setter),“老王忘记把他的猫封装起来,后来他的猫被压平了......”这是一个程序界的鬼故事,你忘记对你的数据进行封装, ...
数据封装的好处(Getter、Setter)
关注
mb5ff40b968831d
赞
收藏
评论
分享
微博
QQ
微信
数据封装的好处(Getter、Setter)
原创
mb5ff40b968831d
2021-01-0719:44:54
©著作权
文章标签
Java
文章分类
Java
编程语言
©著作权归作者所有:来自51CTO博客作者mb5ff40b968831d的原创作品,请联系作者获取转载授权,否则将追究法律责任数据封装的好处(Getter、Setter)https://blog.51cto.com/u_15076224/2584704
“老王忘记把他的猫封装起来,后来他的猫被压平了......”
这是一个程序界的鬼故事,你忘记对你的数据进行封装,那么有一天也会被人处理掉了。
创建Getter和Setter给所有的实例变量,并寻求某种方法强制其他程序都必须通过Setter来设定变量而不是直接的存取。
也就是封装,其会对我们的实例变量加上绝对领域,因此没有人能够恶搞我们的变量。
且大部分的实例变量值都有一个适当的范围,比如身高就不能是负数,佛敲墙也不能3分钟就做完。
强波其他程序一定要经过Setter,如此Setter就能够检查参数并判断是否可以执行。
setter可以退回不合理的值,或是抛出Exception、或者自己进行小数点的动作,重点是你可以在setter中执行任何动作,但是如果直接暴露实体变量就没有办法了。
当然你会说大部分的setter其中也是没有什么逻辑代码的,其实与getter一样,其好处是你事后可以改变想法却不会需要改变其他部分的程序。
封装的优点就是能够让你三心二意却又不会伤害别人,直接存储变量的效率是比不上这个好处的。
理性的说明下,隐藏数据既使用公有和私有这两个存取修饰符,将实例变量标记为private。
将getter和setter标记为public。
当然获取你某天有了足够的java设计与编写经验后,你会有新的做法,但是现在还是继续使用这种维持安全的方式把。
赞
收藏
评论
分享
微博
QQ
微信
举报
上一篇:关于Java方法及传参的一些问题
下一篇:实例变量与局部变量
举报文章
请选择举报类型
内容侵权
涉嫌营销
内容抄袭
违法信息
其他
具体原因
包含不真实信息
涉及个人隐私
原文链接(必填)
补充说明
0/200
上传截图
格式支持JPEG/PNG/JPG,图片不超过1.9M
取消
确认
已经收到您得举报信息,我们会尽快审核
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
全部评论
(0)
最热
最新
相关文章
(18)封装简介、private中getter,setter用法
一、定义:隐藏对象的属性和实现细节,仅对外提供公共访问方式二、好处: ①将变化隔离 ②便于使用 ③提高重用性 ...
健壮性
逻辑判断
自动生成
成员函数
重用性
getter和setter
getter和setter我们先不管getter和setter是啥.来看一段代码packagecom.lewen.day17;publicclassPerson{Stringname;intage;publicvoidchi(){System.out.println(this.nam...
Python
[Kotlin]GetterandSetter
importjava.util.*classAnimal{varage=0get()=fieldset(value){if(value>=0){field=value}else{throw...
java
Kotlin
getter/setter方法
1.setter方法作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值命名规范:必须是对象方法返回值类型为void方法名必须以set开头,而且后面跟上成员变量名去掉”_”首字母必须大写必须提供一个...
成员变量
下划线
数据
get方法
方法名
setter和getter
能让一个包里的访问有所限制
其他
[Javascript]GetterandSetterAbstractions
JavaScriptprovidesprimitivetypesandmeansofprocessingthose.However,thosearenotenough.Realdatamustsomehowcomeintotheprogramanddatamustsomehowleavetheprogram,forittobecom...
ide
i++
javascript
Javascript
简化getter,setter写法
使用Lombok可以简化成:@Getter @Setter @NonNull private String str = "abc";还有其它用法,详见文档http://projectlombok.org/features/Get...
职场
休闲
lombok
Scala中的getter和setter
CreatedbyWang,Jerry,lastmodifiedonSep25,2015testsourcecode:/*2015-09-1415:36PM*/packagetest{classCounter{privatevarvalue=0//orelsevaluewillbetreatedasNaNdefa...
公众号
getter和setter的那些事
相信每一个以Java或者C++作为编程入门语言的程序员,一定会记得一条金科玉律:字段(Filed)要声明成private,如果要读取或修改字段,就声明一些公开方法(PublicMethod),以get和set开头,像这段Java代码一样:这...
Java
setter和getter方法的作用
setter 方法的作用:为单一的实例变量 setter 书写规范: - 号方法 无返回值,名字以set开头 + 要设置的实例变量名(首字母大写) :(setter方法有且只有一个...
作用
getter
setter
Whygetterandsettermethodsareevil
Ididn'tintendtostartan"isevil"series,butseveralreadersaskedmetoexplainwhyImentionedthatyoushouldavoidget/setmethodsinlastmonth'scolumn,"WhyextendsIsEvil."Thoughgetter...
职场
休闲
JavaScriptgetterandsetterAllInOne
JavaScriptgetterandsetterAllInOnegetter&setterclassstaticpropertyclassstaticmethodJavaScriptgetterandsetterAllInOnegetter&setterJavaScriptObjectAccessorsJavaScri...
js
Function
Class
Object
settter
面向对象-getter-setter
// class Rect {// num heihgt;// num width;// Rect(this.heihgt, this.width);// area() {// return this.heihgt * this.width;// }// }class Rect {...
面向对象
getter-setter方法练习
////Kline.h#import
对象的属性按照一贯的“由浅到深”行文原则,我们...
描述符
数据
赋值语句
iphone
默认值
为什么使用Getter和Setter?Getter和Setter有什么区别?
JavaScript访问器(Getter和Setter),ECMAScript5(2009)介绍了Getter和Setters。
Getters和setter允许您定义对象访问器(ComputedProperties)。
##JavaScriptGetter(get关键字)```jsJavaScriptGe...
js
html5
java中封装类Feild和使用setter和getter方法访问封装的类Feild
classPerson{privateStringname;privateintage;publicvoidsetName(Stringname)//定义访问name的方法{if(name.length()>6||name.length()...
java
private
public
有关js的defineProperty函数gettersetter
今天看nodeweb框架时使用的koa框架使用的介绍:ctx上的许多属性都是使用getter,setter和Object.defineProperty()定义的。
你只能通过在app.context上使用Object.defineProperty()来编辑这些属性(不推...
代码
Kontln的属性形式Getter和Setter
packageloaderman.democlassPerson{valname:Stringget()="name"varv:Int=0varvalue:Intget()=vset(value){println("设值"+value)...
成员变量
标识符
属性值
mb5ff40b968831d
关注
私信
近期评论
SpringSecurity学习笔记
本文不错,值得学习
jquery1
终于找到了,给你个大写服
博客园主题
啥都不说了,给你们一个大写的赞。
fibnacci数列递归实现
本文不错,值得学习
第二天:Leetcode刷题;
真给力,就是有点长
近期文章
1.c#面试题及答案(二)
2.npm安装依赖报错——npmERR!gypverbcli的解决方法
3.前端性能优化|什么是防抖和节流?
4.浅谈Spring的PropertyPlaceholderConfigurer
5.Spring读书笔记-----Spring的Bean之设置Bean值
热评好文
m3u8转mp4
java查询目标路径下的所有文件并分类
centos7下载安装&配置zookeeper
ASP.NETWebAPI自身对CORS的支持:从实例开始
awk命令拷屏
七日热门
Java入门_Java概述_Java的特点
Java基础-初识Java
Java解惑(JavaPuzzler)
JavaAnnotation,Java注解
【Java】Java多线程
[Java]JAVAIO操作
java基础Java初生
Java|Java面向对象
Java:Java快速入门
JAVA MyFirst.java
相关标签
全部
computed设置getter和setter
getter/setter方法的作用
ideagettersetter
ideagettersetter快捷键
idea中getter和setter
idea添加gettersetter
idea生成gettersetter
idea的getter和setter
idea设置settergetter
javagettersetter
返回顶部
51CTO博客
首页
关注
热榜
订阅专栏
学堂
精培
鸿蒙社区
CTO训练营
51CTO
班级博客
登录注册
手机随时阅读
新人专享大礼包¥24
写文章
搜索历史
清空
热门搜索
查看【
】的结果
Copyright©2005-202251CTO.COM
版权所有京ICP证060544号
关于我们
官方博客
意见反馈
了解我们
全部文章
在线客服
网站地图
热门标签
友情链接
51CTO鸿蒙社区
51CTO学堂
51CTO
延伸文章資訊
- 1Getter Setter:使用还是不使用? - SegmentFault 思否
那么,为什么程序员会自动将getter和setter添加到其对象中, ... 使用setter设置值的另一个优点是,在设置值时,我们可以使用该方法保留不变式或执行 ...
- 2Getter、Setter的用與不用
- 3getter 和setter 方法有什么意义? - 知乎
getter / setter 方法的好处前面都说了,但是在具体语言里使用起来的“麻烦程度”可以很不同。 前面有回答提到了Java:没有原生的getter / setter 语法,这只是一个Ja...
- 4Java Getter和Setter:基礎、常見錯誤和最佳實踐 - 每日頭條
- 5getter和setter方法的作用和好处_xunfan的博客
比如有些属性只是可读但不可写,那么只提供它的getter方法就好,意思就是某些属性只能单一方向的被访问,getter和setter就是提供这样的接口, ...