TypeScript 类中的 private 和 protected 访问修饰符区别 - 详解与示例
在TypeScript中,private和protected是两个访问修饰符,用于限制类中属性和方法的访问。\n\n1. private:private修饰的属性或方法只能在当前类内部访问,无法在类的外部或子类中访问。私有成员对于类的外部是不可见的。\n示例:\n\nclass MyClass {\n private privateProperty: number;\n \n private privateMethod() {\n //...\n }\n}\n\nconst myObject = new MyClass();\nmyObject.privateProperty; // Error: privateProperty是私有的,无法访问\nmyObject.privateMethod(); // Error: privateMethod是私有的,无法访问\n\n\n2. protected:protected修饰的属性或方法可以在当前类内部访问,也可以在子类中访问,但无法在类的外部访问。受保护成员对于类的外部是不可见的,但对于子类是可见的。\n示例:\n\nclass MyClass {\n protected protectedProperty: number;\n \n protected protectedMethod() {\n //...\n }\n}\n\nclass MyChildClass extends MyClass {\n accessProtected() {\n this.protectedProperty = 10; // 可以在子类中访问受保护的属性\n this.protectedMethod(); // 可以在子类中访问受保护的方法\n }\n}\n\nconst myObject = new MyClass();\nmyObject.protectedProperty; // Error: protectedProperty是受保护的,无法访问\nmyObject.protectedMethod(); // Error: protectedMethod是受保护的,无法访问\n\n\n总结:\n- private修饰的成员对于类的外部和子类都是不可见的。\n- protected修饰的成员对于类的外部是不可见的,但对于子类是可见的。
原文地址: https://www.cveoy.top/t/topic/py16 著作权归作者所有。请勿转载和采集!