公有与私有类字段
本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 18 课,共 56 课。
在 JavaScript 类中,我们可以定义两种类字段:公有字段和私有字段。
公有字段可以从类外部访问,任何人都可以使用。
创建一个包含公共字段的类:
class Student {
name = '';
grade = 0;
constructor(name, grade) {
this.name = name;
this.grade = grade;
}
}创建一个学生实例:
const student = new Student('Alice', 95);从类的外部访问公共字段:
console.log(student.name); // 输出:"Alice"
student.grade = 98;
console.log(student.grade); // 输出:98私有字段用 # 符号表示,只能在类内部访问:
class Student {
name = '';
#grade = 0;
constructor(name, grade) {
this.name = name;
this.#grade = grade;
}
getGrade() {
return this.#grade;
}
updateGrade(newGrade) {
this.#grade = newGrade;
}
}使用私有字段:
const student = new Student('Bob', 87);
console.log(student.name); // 输出:"Bob"
// 通过方法访问私有字段
console.log(student.getGrade()); // 输出:87
// 通过方法更新私有字段
student.updateGrade(92);
console.log(student.getGrade()); // 输出:92
// 这样会导致错误:
// console.log(student.#grade); // SyntaxError挑战
- 在名为 UserAccount 的类中添加两个属性:
- 一个公共属性
username - 一个私有属性
#password
- 一个公共属性
- 添加一个构造函数,接收
username和password参数
亲手试试
import { UserAccount } from './userAccount.js';
// 测试代码,请勿修改
const user = new UserAccount("alice", "secret123");
console.log(user.username); // 应输出 "alice"
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
面向对象编程中的所有课
8整理 OOP 代码
将类组织到模块中自己练习: JavaScript 在线编译器