美文网首页
为什么要有Set、Get方法?

为什么要有Set、Get方法?

作者: 末池桑 | 来源:发表于2020-03-06 11:17 被阅读0次

疫情了一个多月,在家办公懒散了一个多月,看到了码农翻身公众号的一篇文章(关于领域设计模型的文章),随之想到一个问题,Java对象为什么要有Set、Get方法,发现自己从没有想过这个问题,只知道这和面向对象三大特性封装性有关,有点惭愧,这里查了点资料写篇博客总结一下。

But Why ?

Java 对象中为什么要把成员变量定义为 private,然后又提供一个 public 的Set、Get方法去设置这个成员变量的值呢?通过下图可知,set方法是可以重新给 age 赋值的,这个看起来和定义一个 public 的成员变量没什么大的区别,它们有什么不一样呢?

其实我们都习惯了用 IDE 直接去生成 set、get 方法,这里的生成的 set、get 方法确实和直接去操作 public 的成员变量没什么区别,但是换成如下的 set、get 方法呢?

image.png

这里其实就是体现了安全性,假如 age 是 public 的话,调用者可以随意赋值,但是通过 set、get 的方式的话,还可以做一些其他操作,来保证数据的安全性。

相关文章

网友评论

      本文标题:为什么要有Set、Get方法?

      本文链接:https://www.haomeiwen.com/subject/bkvvrhtx.html