自学内容网 自学内容网

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)!