
Java中利用getter和setter方法有效管理Thermostat类属性访问
为了确保代码的健壮性和可维护性,Java推荐使用getter和setter方法来控制对类属性的访问。getter方法用于获取属性值,setter方法用于修改属性值。
以下代码片段展示了一个Thermostat类,存在属性命名和setter方法参数方面的问题:
属性名与单位不一致: 属性名fahrenheit却存储的是摄氏温度值,这容易导致误解。setter方法参数缺失: setTemperature方法缺少必要的参数,无法正确设置温度值。
以下是经过修正后的代码:
立即学习“Java免费学习笔记(深入)”;
class Thermostat { private double celsius; public Thermostat(double fahrenheit) { this.celsius = 5.0/9.0 * (fahrenheit - 32); // 注意此处浮点数运算 } public double getCelsius() { // 更名,更清晰地表达属性含义 return celsius; } public void setCelsius(double celsius) { // 添加参数,修正setter方法 this.celsius = celsius; }}
改进后的代码解决了原代码中的两个问题:
将属性名改为celsius,使其与存储的温度单位一致,提高代码可读性。为setCelsius方法添加了celsius参数,使其能够正确地修改温度值。 同时,为了避免浮点数精度问题,将5/9修改为5.0/9.0。
通过使用getter和setter方法,我们可以有效地封装类属性,提高代码的可维护性和安全性,避免直接访问私有属性带来的潜在风险。
以上就是Java中如何正确使用getter和setter方法控制Thermostat类属性访问?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1502034.html
微信扫一扫
支付宝扫一扫