大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
实现数据封装的一种方法是使用accessors 和Mutators。accessors 和Mutators的作用是返回和设置对象状态的值。让我们学习如何用Java编写accessors 和Mutators。例如,我们将使用一个Person类,它的状态和构造函数已经定义:
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账号...