TypeScript - 访问修饰符
在 TypeScript 中,你可以使用访问修饰符(Access Modifiers)来控制类成员(包括属性和方法)的可见性。访问修饰符是实现封装(Encapsulation)或数据隐藏的关键概念,它们决定了这些成员在哪些地方可以被访问或调用。
TypeScript 支持以下三种主要的访问修饰符:
public
(公共,默认)private
(私有)protected
(受保护)
Public 访问修饰符
public
是默认的访问修饰符。使用 public
修饰的类成员可以在类的内部和外部任何地方访问。
示例:
class Animal {
public name: string;
constructor(name: string) {
this.name = name;
}
public move(distance: number): void {
console.log(`${this.name} moved ${distance} meters.`);
}
}
let dog = new Animal("Dog");
console.log(dog.name); // 访问 public 成员
dog.move(10); // 调用 public 方法
Private 访问修饰符
private
修饰符限制了类成员的访问范围,使其只能在定义它的类内部访问。
示例:
class Person {
private age: number;
constructor(age: number) {
this.age = age;
}
public getAge(): number {
return this.age;
}
}
let p = new Person(30);
console.log(p.getAge()); // 正确:通过 public 方法访问
// console.log(p.age); // 错误:直接访问 private 成员会报错
在这个例子中,age
是私有成员,你必须通过公开的方法 getAge()
才能访问它。