HarmonyOS应用开发实战:猫猫大作战-private 的作用
·


前言
在面向对象编程中,封装通过 private 关键字隐藏内部实现细节,只暴露必要的公共接口。在「猫猫大作战」的 GameEngine 中,棋盘 board、猫咪集合 cats、得分 score 等敏感数据全部设为 private。
本文以 GameEngine 的封装设计为锚点,讲解 private 的作用。
提示:本系列不讲 ArkTS 基础语法与环境搭建,假设你已跟完第 1–118 篇。本篇是阶段四第 119 篇。
一、私有成员设计
1.1 私有字段
export class GameEngine {
private board: (Cat | null)[][] = []; // 棋盘数据 — 对外只读
private cats: Map<string, 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 概率生成——加权随机算法。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
更多推荐


所有评论(0)