16 类与继承 🏫之访问修饰符
在上一章中,我们详细探讨了类型Script中“类”的基本概念以及如何使用“继承”和“多态”来重用和扩展我们的类。在本章中,我们将进一步探讨类的“访问修饰符”,它们在控制属性和方法的可访问性方面发挥着重要作用。
访问修饰符的概述
在TypeScript中,访问修饰符有三种类型:
- public:公有访问修饰符,默认修饰符,表示该属性或方法可以在类的任何地方以及类的外部访问。
- protected:受保护的访问修饰符,表示该属性或方法只能在类本身及其子类中访问。
- private:私有访问修饰符,表示该属性或方法只能在类的内部访问,外部无法访问。
理解这些访问修饰符对于更好地封装和管理代码至关重要。接下来,我们将通过示例来深入理解每个修饰符的具体用法。
1. public 修饰符
public
修饰符表示属性和方法可以在任何地方访问。我们来看看一个简单的例子:
1 | class Person { |
在上面的例子中,name
属性和greet
方法都是public
,这意味着我们可以在类的外部直接访问和调用这些属性和方法。
2. protected 修饰符
protected
修饰符限制访问,仅允许在类及其子类内部访问。来看一个示例:
1 | class Animal { |
在这个例子中,species
属性被声明为protected
,这意味着子类Dog
可以访问它,但在类的外部尝试访问时将会报错。
3. private 修饰符
private
修饰符进一步限制访问,仅允许在类的内部进行访问。如下例所示:
1 | class BankAccount { |
在这里,balance
属性被标记为private
,意味着它无法在类的外部直接访问。我们只能通过类提供的公共方法来间接访问这个属性。
4. 总结
通过使用访问修饰符,TypeScript允许我们以更细致的粒度控制类的成员的可访问性。这不仅有助于增强封装性,还能使代码结构更明确。具体而言:
- 使用
public
使得类成员可以被外部代码自由访问。 - 使用
protected
限制成员仅在类及其派生类中访问。 - 使用
private
完全封装成员,以防外部访问。
在后续的教程中,我们将继续向前推进,探讨“模块与命名空间”中模块的定义与使用,进一步提高我们的TypeScript编程能力。
16 类与继承 🏫之访问修饰符