private修饰属性实现封装,通过public getter/setter提供受控读写:getter以getxxx命名返回属性值并可加校验逻辑,setter以setxxx命名接收参数并支持校验与扩展。

用 private 修饰属性是为了封装数据,防止外部直接访问或修改;再通过 public 的 getter 和 setter 方法提供受控的读写能力,这就是标准的访问器(accessor)模式。
声明 private 属性
在类内部用 private 关键字修饰字段,确保它只能在本类中被访问:
- Java 中写法: private String name;
- C# 中类似: private int age;
- TypeScript 中: private id: number;
提供 public getter 方法
getter 用于安全地读取 private 属性值,方法名通常为 getXxx()(Java/C#)或 getXxx(TS),返回类型与属性一致:
- 不带参数,只返回属性值
- 可在返回前加逻辑,比如格式化、空值检查、计算派生值
- 示例(Java):public String getName() { return name; }
提供 public setter 方法
setter 用于可控地修改 private 属性,方法名通常为 setXxx(类型 参数):
- 接收一个参数,类型与属性一致
- 可在赋值前校验参数(如非空、范围限制、格式合法性)
- 避免直接暴露字段,也便于后期加入日志、通知等扩展逻辑
- 示例(Java):public void setName(String name) { if (name != null && !name.trim().isEmpty()) this.name = name.trim(); }
注意命名与一致性
遵循语言惯例能提升可读性和工具支持度:
- Java Bean 规范要求 getter/setter 名称严格匹配(如 private boolean active → isActive() / setActive(boolean))
- IDE(如 IntelliJ、VS Code)通常支持一键生成标准访问器
- 某些语言(如 C#、Kotlin、TypeScript)支持属性语法糖,但底层仍推荐用私有字段 + 显式访问器来保持清晰意图











