在TypeScript中,类的访问修饰符主要有三种:public
、private
和 protected
。这些修饰符用来限定类成员(属性和方法)的访问级别。
-
public(公开的):这是默认的访问级别。被标记为
public
的成员可以在任何地方被访问,不论是类的内部还是外部。这意味着,任何创建了类实例的地方都可以访问和修改这些成员。示例:
typescriptclass Animal { public name: string; constructor(name: string) { this.name = name; } public display(): void { console.log(this.name); } } let dog = new Animal("Buddy"); dog.display(); // 输出:Buddy console.log(dog.name); // 输出:Buddy
-
private(私有的):被标记为
private
的成员只能在类的内部访问。这意味着这些成员不可以在类的外部直接访问,也不可以在任何继承了该类的子类中访问。示例:
typescriptclass Animal { private name: string; constructor(name: string) { this.name = name; } display(): void { console.log(this.name); } } let cat = new Animal("Whiskers"); cat.display(); // 输出:Whiskers // console.log(cat.name); // 错误:Property 'name' is private and only accessible within class 'Animal'.
-
protected(受保护的):被标记为
protected
的成员可以在类的内部访问,以及在任何继承了该类的子类中访问。但是,不能在类的实例外部直接访问这些成员。示例:
typescriptclass Animal { protected name: string; constructor(name: string) { this.name = name; } } class Cat extends Animal { constructor(name: string) { super(name); } display(): void { console.log(this.name); } } let cat = new Cat("Paws"); cat.display(); // 输出:Paws // console.log(cat.name); // 错误:Property 'name' is protected and only accessible within class 'Animal' and its subclasses.
这些访问修饰符是用来实现封装和隐藏内部实现细节的,有助于保持代码的整洁和安全。
2024年8月2日 13:49 回复