accessor和mutator的区别_java concat方法

accessor和mutator的区别_java concat方法实现数据封装的一种方法是使用accessors和Mutators。accessors和Mutators的作用是返回和设置对象状态的值。让我们学习如何用Java编写accessors和Mutators。例如,我们将使用一个Person类,它的状态和构造函数已经定义:accessor方法accessors方法用于返回私有字段的值。它遵循一种命名方案,将“get”前缀放在方法名称的开头。例如,让…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

实现数据封装的一种方法是使用accessors 和Mutators。accessors 和Mutators的作用是返回和设置对象状态的值。让我们学习如何用Java编写accessors 和Mutators。例如,我们将使用一个Person类,它的状态和构造函数已经定义:

a4622ae6a5f4f2deacb474416e178c6b.png

accessor方法

accessors 方法用于返回私有字段的值。它遵循一种命名方案,将“get”前缀放在方法名称的开头。例如,让我们为firstname、middleNames和lastname添加Mutator方法:

这些方法总是返回与其对应的私有字段相同的数据类型(例如String),然后只返回该私有字段的值。

我们现在可以通过Person对象的方法访问它们的值:

Mutator方法

使用mutator方法设置私有字段的值。它遵循一种命名方案,将单词“set”前缀放在方法名称的开头。例如,让我们为地址和用户名添加mutator字段:

这些方法没有返回类型,并且接受与其对应的私有字段相同的数据类型的参数。然后使用该参数设置该私有字段的值。

现在可以修改Person对象中的地址和用户名的值:

为什么使用accessors 和Mutator?

我们可以将类定义的私有字段更改为public,并获得相同的结果。重要的是要记住,我们希望尽可能地隐藏对象的数据。这些方法提供的额外缓冲区允许我们:

改变数据在幕后的处理方式。

对字段设置为的值进行验证。

假设我们决定修改存储中间名称的方式。我们现在可以使用字符串数组而不是一个字符串:

对象内部的实现已经更改,但是外部世界没有受到影响。方法的调用方式完全相同:

或者,假设使用Person对象的应用程序只能接受最多10个字符的用户名。我们可以在setUsername变量中添加验证,以确保用户名符合以下要求:

现在,如果传递给setUsername mutator的用户名超过10个字符,它将自动被截断。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194280.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WPF中的资源(一) – 静态资源和动态资源

    WPF中的资源(一) – 静态资源和动态资源

    2021年5月28日
    124
  • 动态规划 之背包问题(九讲)[通俗易懂]

    动态规划 之背包问题(九讲)[通俗易懂]背包九讲参考:"AcWing题库"参考书目:"背包九讲"1、01背包问题题目描述:有N件物品和一个容量是V的背包。每件物品只能使用一次。第i

    2022年7月4日
    26
  • modis数据简介及批处理工具[通俗易懂]

    modis数据简介及批处理工具[通俗易懂]MODIS数据:MODIS是传感器而不是卫星(Landsat是卫星)MODIS传感器的全称为中分辨率成像光谱仪(moderate-resolutionimagingspectroradiometer),主要搭载在Terra和Aqua星上。MODIS命名规则:MOD09GA是产品名称,表示500米地表反射率产品。A2018179表示产品时间2018年第179天(以每年1…

    2022年5月30日
    42
  • Python的random函数用法详解[通俗易懂]

    Python的random函数用法详解[通俗易懂]在random模块下提供了如下常用函数:random.seed(a=None,version=2):指定种子来初始化伪随机数生成器。random.randrange(start,stop[,stop]):返回从start开始到stop结束、步长为step的随机数。其实就相当于choice(range(start,stop,step))的效果,只不过实际底层并不生成区间对象。random.randint(a,b):生成一个范围为a≤N≤b的随机数。其等同于ra

    2022年4月30日
    118
  • 全网最详细ENSP安装教程,零基础网工小白必看![通俗易懂]

    全网最详细ENSP安装教程,零基础网工小白必看![通俗易懂]全网最详细ENSP安装教程,零基础网工小白必看!学习更多网络技术,扫码即可免费报名听课,更多资料加QQ群414605852材料准备在下载ENSP之前先安装这3个软件1.1.安装WinPcap1.2.安装Wireshark1.3.安装VirtualBoXENSP安装2.1.软件安装2.2.设备注册在注册设备之前,先保证没有任何设备在界面上然后点击菜单—>工具—>注册设

    2022年10月14日
    3
  • 如何设置python的环境变量_anaconda3添加环境变量

    如何设置python的环境变量_anaconda3添加环境变量在python项目实践中,不知道为什么我的os.getenv一直拿不到环境变量,于是我就试了三种设置环境变量的方法,中解决了问题。一.系统变量设置python环境变量的配置方法:1、第一步在我们的电脑上鼠标右键此电脑,选择属性,进去之后,点击高级系统设置,如下图所示2、第二步进去之后,点击环境变量,如下图所示:3、第三步进去环境变量界面之后,点击path,进行编辑,如下图所示:二.pycharm用户环境变量设置:1.打开文件—设置2.打开构建,执行,部署–python控制台–环境变量

    2022年8月29日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号