TypeScript 中的类的访问修饰符
在 TypeScript 中,类是一个非常常见的特性,它可以把一些相关的属性和方法组织起来,以便程序员能够更好地结构化代码和管理代码的复杂性。但是,实际上,一个类中包含的所有成员并不是全部都需要暴露给外部使用的。这时,我们需要使用访问修饰符来控制成员的访问权限。
在 TypeScript 中,有 3 种访问修饰符,它们分别是 public、private 和 protected,用于限制成员的访问。下面我们将对这 3 种访问修饰符进行详细介绍。
public
public 是 TypeScript 中默认的访问修饰符,这意味着如果没有手动设置访问修饰符的话,所有的成员都是 public 的。public 成员不受限制,可以在任何地方访问。
示例代码:
-- -------------------- ---- ------- ----- ------ - ------ ----- ------- ----------------- ------- - --------- - ----- - ------ ---------- - ------------------- -- ---- -- ---------------- - - ----- ------ - --- --------------- ------------------ -- ------ -- ---- -- -----
上面的示例中,name 和 sayHello 均为 public 成员,可以在任何地方被访问。
private
private 成员只能在类内部被访问,不能在类外部被访问。这种成员通常用于隐藏实现细节,以防止外部对类的实现直接进行修改。
示例代码:
-- -------------------- ---- ------- ----- ------ - ------- ---- ------- ---------------- ------- - -------- - ---- - ------ -------- - ------ --------- - - ----- ------ - --- ----------- ---------------- -- -- ----------- -- -------- ----- -- ------- --- ------ -- -------- ------- -- ----- ---------
上面的示例中,age 成员被定义为 private,外部无法访问该成员,但是可以通过公共的 getAge 方法来获取该成员的值。
protected
protected 成员与 private 成员类似,也只能在类的内部访问。但是,与 private 成员不同的是,protected 成员可以在子类中访问。
示例代码:
-- -------------------- ---- ------- ----- ------ - --------- ------- ------- ------------------- ------- - ----------- - ------- - - ----- -------- ------- ------ - ------- ------- ------- ------------------- ------- ------- ------- - -------------- ----------- - ------- - ------ ----------- - ------ ------------ - ------ ----------- - ------ ------------ - - ----- -------- - --- ---------------- ------ --------------------- -- ---- --------------------- -- ----
上面的示例中,Person 类中声明了一个 protected 成员 gender,该成员可以在 Employee 类中被访问,但是在类的外部无法访问。
总结
TypeScript 中的访问修饰符可以很好地控制类成员的访问权限,从而保护类的实现细节,提高代码的安全性和可维护性。在编写类的时候,需要根据使用情况和业务需求,选择合适的访问修饰符。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64675160968c7c53b07b50f1