getter 和 setter 方法有什么意义

Yang 881

getter 和 setter 方法的主要意义在于:一、封装数据;二、控制访问;三、扩展功能。

getter 和 setter 方法是一种编程语言中的特殊方法,用于访问对象的私有变量。getter 方法用于获取私有变量的值,而 setter 方法用于设置私有变量的值。

一、封装数据

getter 和 setter 方法是一种编程语言中的特殊方法,用于访问对象的私有变量。getter 方法用于获取私有变量的值,而 setter 方法用于设置私有变量的值。这样,我们可以在不直接访问私有变量的情况下,将类的私有成员变量隐藏起来,只允许通过方法来访问和修改数据,控制对它们的访问和修改。这是一种封装数据的方法,可以使代码更加安全和可维护。

二、控制访问

getter 和 setter 方法可以控制对成员变量的访问权限,例如只读、只写、读写等。这样可以避免对数据的误操作和滥用。

三、扩展功能

getter 和 setter 方法可以在获取和设置数据的过程中添加一些额外的逻辑,例如数据验证、计算等。这样可以增强类的功能和灵活性。

Getter和setter方法可以方便增加额外功能,比如验证。内部存储和外部表现不同。可以保持外部接口不变的情况下,修改内部存储方式和逻辑。在Java中,getter和setter是两种常规方法,用于检索和更新变量的值。通过使用getter和setter,程序员可以控制如何以适当的方式访问和更新其重要变量,例如在指定范围内更改变量的值¹。

延伸阅读

一、优点

1、满足面向对象语言封装的特性

尽可能将类中的属性定义为private,针对属性值的访问与修改使用相应的getter、setter方法,不是直接通过对public属性进行读取修改。

2、有利于统一控制

直接通过对public属性进行读取修改和没有业务逻辑的getter/setter效果一样,但是前者难以应对业务的变化。比如,如果业务需要对某个属性进行修改权限控制,如果有setter作为统一的属性修改方法则更容易实现,这种情况在一些使用反射的框架中作用尤其明显。比如Spring框架中,通过getter/setter获取Bena和注入Bena;Mybatis框架通过注解操作数据库时,就是通过setter将查询的值赋给pojo对象;在Java web中统一封装返回对象,json序列化时,也是通过getter获取属性值。

二、方法

1、setter方法

  • 可以限制和检验setter方法传入的参数
  • 隐藏对象内部数据结构
  • 保持对象在每个状态的完整性

2、getter方法

  • 按照客户的期望返回格式化数据
  • 控制服务的顺序(例如只有当连接建立时getter方法才返回相应实例)

回复

我来回复
  • 暂无回复内容

注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部