
前言在面向对象编程中封装通过private关键字隐藏内部实现细节只暴露必要的公共接口。在「猫猫大作战」的GameEngine中棋盘 board、猫咪集合 cats、得分 score 等敏感数据全部设为private。本文以GameEngine的封装设计为锚点讲解 private 的作用。提示本系列不讲 ArkTS 基础语法与环境搭建假设你已跟完第 1–118 篇。本篇是阶段四第 119 篇。一、私有成员设计1.1 私有字段export class GameEngine { private board: (Cat | null)[][] []; // 棋盘数据 — 对外只读 private cats: Mapstring, Cat new Map(); // 猫咪集合 private score: number 0; // 分数 private catCounter: number 0; // ID 计数器 // ... }1.2 只读访问// 通过公共 getter 只读暴露 getScore(): number { return this.score; } getAllCats(): Cat[] { return Array.from(this.cats.values()); } getCatCount(): number { return this.cats.size; }二、总结private 封装保护内部数据不被外部直接修改通过 getter 提供只读访问。核心要点private成员禁止外部直接访问通过公共 getter 暴露必要数据外部只能调用引擎的公共方法不能直接操作内部状态本篇是引擎基础篇最后一篇下一篇预告第 120 篇将深入 Math.random 概率生成——加权随机算法。如果这篇文章对你有帮助欢迎点赞、收藏⭐、关注你的支持是我持续创作的动力相关资源ArkTS 类与封装开源鸿蒙跨平台社区第 118 篇constructor第 120 篇Math.random