在TypeScript中,支持三种主要的访问修饰符,它们各自对应于不同的可访问性级别。这些访问修饰符分别是:
-
public:这是最常用的修饰符,它表示成员(类的属性或方法)是公开的。在任何地方都可以自由访问公开的成员,包括类的外部。默认情况下,如果没有指定访问修饰符,成员则被视为公开的。
示例:
typescriptclass Animal { public name: string; constructor(name: string) { this.name = name; } public display(): void { console.log(`This animal's name is ${this.name}`); } } let dog = new Animal("Buddy"); dog.display(); // 正常工作
-
private:私有修饰符表示成员是私有的,只能在定义它们的类的内部访问。在类的外部访问这些私有成员会导致编译错误。
示例:
typescriptclass Animal { private name: string; constructor(name: string) { this.name = name; } private display(): void { console.log(this.name); } public show(): void { this.display(); // 在类内部调用私有方法 } } let cat = new Animal("Whiskers"); // cat.display(); // 错误:'display' 是私有的。 cat.show(); // 正常工作,内部调用了私有方法display
-
protected:受保护的修饰符表示成员在类本身及其子类中可访问,但不能在类的外部直接访问。这在需要限制访问但允许类继承的情况下非常有用。
示例:
typescriptclass Animal { protected name: string; constructor(name: string) { this.name = name; } protected display(): void { console.log(`Animal's name: ${this.name}`); } } class Dog extends Animal { constructor(name: string) { super(name); } public show(): void { this.display(); // 可以访问受保护的方法 } } let dog = new Dog("Buddy"); dog.show(); // 正常工作 // dog.display(); // 错误:'display' 是受保护的。
这三个访问修饰符都是基于类的封装特性,帮助开发者在正确的环境中使用类的成员,并保护数据不被不适当地访问或修改。
2024年11月29日 09:39 回复