php 中 get 与 set 的 使用,是不是两个函数必须一块使用才不错,分开使用是不是出错?

php 中 get 与 set 的 使用,是不是两个函数必须一块使用才不错,分开使用是不是出错?,第1张

get set 方法 简称为 存储器

因为类中的变量 声明为 私有的,在类外 是无法调用的,这是 set就起到了赋值的作用

而 get 则起到了 取值的作用。。 如果变量声明为 共有的(public) 就用不到get 和set 方法了

用存储器 赋值 取值 的好处 最明显的 就是 数据验证

例如: $name 必须为 字母或者中文,不能是 数字

你就可以在set方法里 加上验证判断。符合再赋值,否则抛出异常。

set 和get 并不是要一起用,取决于你对数据的保护,例如 $name你定义一个值后,不想被恶意程序,或者黑客改变,你就可以只定义get方法,而不定义set方法,这样 $name 就变为了一个只读属性。无法更改其值。同理 可以只定义set 而不定义get。。

因此 两个函数不必要一块使用,分开使用也不会出错

字段设为私有,是满足面向对象中封装性,

一个类不建议允许直接获取到另一个类的字段

同时也不建议直接把自身字段暴露给另一个类,

本质上其实是为了隐藏具体实现,

同时,用get或者set方法来获取或者设置的话,可以在该方法中添加一些简单的验证逻辑,

比方说有个学生类,其中有个年龄字段,如果直接做成public的话,那么这个年龄字段可以设置为负值,

但是你做成了set方法的时候,你调用set设置年龄,那么你可以在set方法中去对为负数的年龄进行验证处理

Java面向对象类和类之间的关系教程:


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11437547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存