Java高效编程(16):在公共类中使用访问器方法,而不是公共字段
概述
在软件设计中,封装是面向对象编程的基本原则之一。为了确保灵活性和安全性,公共类应通过访问器方法(getter)和修改器方法(setter)来访问字段,而不是直接暴露公共字段。这有助于后续的维护和修改。
退化类的示例
有时候,您可能会倾向于编写退化的类,这些类的唯一作用就是将实例字段分组:
// 这样的退化类不应该是公共的!
class 坐标点 {
public double x;
public double y;
}
由于此类的字段可以直接访问,这样的类不提供封装的好处(参见第15条)。直接暴露字段意味着:
- 无法在不更改API的情况下更改类的内部表示。
- 无法强制实施不变量。
- 无法在字段被访问或修改时执行任何操作。
这些问题可能导致数据不一致或难以维护。因此,严格的面向对象程序员认为此类设计应当避免,应该始终使用私有字段并提供公共的访问器方法(getter)和修改器方法(setter):
封装的实现
// 通过访问器方法和修改器方法封装数据
class 坐标点 {
private double x;
private double y;
// 构造函数,用于初始化坐标点对象
public 坐标点(double x, double y) {
this.x = x;
this.y = y;
原文地址:https://blog.csdn.net/nokiaguy/article/details/142702484
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!