TypeScript 类中的私有和受保护成员:访问控制与继承
在TypeScript中,类的私有(private)和受保护(protected)成员用于限制对类的成员的访问。这两个访问修饰符可以应用于类的属性、方法和构造函数。\n\n1. 私有(private)成员:私有成员只能在其所属的类中访问。使用private修饰符可以将属性或方法标记为私有。\n\n typescript\n class MyClass {\n private myProperty: number;\n\n private myMethod(): void {\n // ...\n }\n }\n\n const instance = new MyClass();\n instance.myProperty; // 编译错误,私有属性无法在类外部访问\n instance.myMethod(); // 编译错误,私有方法无法在类外部调用\n \n\n2. 受保护(protected)成员:受保护成员可以在其所属的类及其子类中访问。使用protected修饰符可以将属性或方法标记为受保护。\n\n typescript\n class MyBaseClass {\n protected myProperty: number;\n\n protected myMethod(): void {\n // ...\n }\n }\n\n class MyDerivedClass extends MyBaseClass {\n public myMethod2(): void {\n this.myProperty = 10; // 可以在派生类中访问受保护属性\n this.myMethod(); // 可以在派生类中调用受保护方法\n }\n }\n\n const instance = new MyDerivedClass();\n instance.myProperty; // 编译错误,受保护属性无法在类外部访问\n instance.myMethod(); // 编译错误,受保护方法无法在类外部调用\n \n\n需要注意的是,私有和受保护成员在继承时的行为略有不同。私有成员在派生类中无法访问,而受保护成员可以在派生类中访问。
原文地址: https://www.cveoy.top/t/topic/py11 著作权归作者所有。请勿转载和采集!