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个字符,它将自动被截断。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Cocos2d-x游戏中默认的AndroidManifest.xml的解析

    Cocos2d-x游戏中默认的AndroidManifest.xml的解析

  • dropdownlist控件绑定数据库_xml描述的是数据的什么

    dropdownlist控件绑定数据库_xml描述的是数据的什么

  • 图像匹配方法浅谈_浅谈数学思想方法

    图像匹配方法浅谈_浅谈数学思想方法每次都想找个权威的图像匹配的综述看看。但看的论文零零散散,每家都说自己方法如何如何的好,其实我都半信半疑的,希望中国的研究学者能够脚踏实地的务实的多做点实事,牛顿说我成功是因为站在巨人的肩上。我是菜鸟

  • 数据结构二叉树中序遍历_数据结构二叉树先序

    数据结构二叉树中序遍历_数据结构二叉树先序二叉树中序遍历二叉树中序遍历的实现思想是:访问当前节点的左子树 访问根节点 访问当前节点的右子树图1二叉树以上图1为例,中序遍历的过程如下:访问该二叉树的根节点,找到1 遍历节点1的左子树,找到节点2 遍历节点2的左子树,找到节点4 由于节点4无左孩子,因此找到节点4,并遍历节点4的右子树 由于节点4无右子树,因此节点2的左子树遍历完成,访问节点2 遍历节点2的右子树,找到节点5 由于节点5无左子树,因此访问节点5

  • lstm怎么预测长时间序列_时间序列预测代码

    lstm怎么预测长时间序列_时间序列预测代码写在前面LSTM模型的一个常见用途是对长时间序列数据进行学习预测,例如得到了某商品前一年的日销量数据,我们可以用LSTM模型来预测未来一段时间内该商品的销量。但对于不熟悉神经网络或者对没有了解过RNN模型的人来说,想要看懂LSTM模型的原理是非常困难的,但有些时候我们不得不快速上手搭建一个LSTM模型来完成预测任务。下面我将对一个真实的时间序列数据集进行LSTM模型的搭建,不加入很多复杂的功能,快速的完成数据预测功能。问题大概如下:某煤矿有一个监测井,我们每20分钟获…

  • 支持二级汉字的 php 汉字助记码生成

    支持二级汉字的 php 汉字助记码生成gbk2312编码范围共94区,0-55区为一级汉字,是按照拼音顺序排列的,可以按照编码区间确定汉字的拼音,但是56区以后是按笔画顺序排列的,所以只能用对照表来确定拼音鉴于目前我找不到现成的代码,固整理了一份,测试可用./***PHP汉字转拼音*echoCUtf8_PY::encode(‘字符串’);//编码为拼音首字母*echoCUtf8_P…

发表回复

您的电子邮箱地址不会被公开。

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