TypeScript 中对 private 和 protected 修饰符的使用详解

在 TypeScript 中,我们可以使用 private 和 protected 两个修饰符来限制类成员的访问权限。本文将详细介绍这两个修饰符的使用方法及其在实际开发中的应用。

private 修饰符

private 修饰符用于限制类成员的访问权限,只有在类内部才能访问该成员。在 TypeScript 中,使用 private 修饰符的方式如下:

----- ------ -
  ------- ----- -------

  ------ ----------------- ------- -
    --------- - -----
  -

  ------ ---------- ------ -
    ------ ----------
  -
-

----- ------ - --- -------------
------------------------------ -- -----
------------------------- -- ---------------------------------

在上面的例子中,我们使用了 private 修饰符来限制了类中的 name 属性的访问权限。在类内部,我们可以通过 this.name 来访问该属性,但在类外部,我们无法直接访问该属性。

private 修饰符还可以用于限制类中的方法的访问权限。例如:

----- ------ -
  ------- ----- -------

  ------ ----------------- ------- -
    --------- - -----
  -

  ------- ----------- ---- -
    ------------------- ----------------
  -

  ------ -------- ---- -
    ----------------
  -
-

----- ------ - --- -------------
--------------- -- --------- ---
------------------ -- -------------------------------------

在上面的例子中,我们使用了 private 修饰符来限制了类中的 sayHello 方法的访问权限。在类内部,我们可以通过 this.sayHello() 来访问该方法,但在类外部,我们无法直接访问该方法。

protected 修饰符

protected 修饰符用于限制类成员的访问权限,只有在类内部和子类中才能访问该成员。在 TypeScript 中,使用 protected 修饰符的方式如下:

----- ------ -
  --------- ----- -------

  ------ ----------------- ------- -
    --------- - -----
  -

  --------- ----------- ---- -
    ------------------- ----------------
  -
-

----- ------- ------- ------ -
  ------ -------- ---- -
    ----------------
  -
-

----- ------- - --- --------------
---------------- -- --------- ---
-------------------------- -- -----------------------------------

在上面的例子中,我们使用了 protected 修饰符来限制了类中的 name 属性和 sayHello 方法的访问权限。在 Person 类内部和 Student 类中,我们可以通过 this.name 和 this.sayHello() 来访问这些成员,但在类外部,我们无法直接访问这些成员。

总结

在 TypeScript 中,我们可以使用 private 和 protected 两个修饰符来限制类成员的访问权限。使用 private 修饰符可以限制类成员的访问权限只在类内部,而使用 protected 修饰符可以限制类成员的访问权限在类内部和子类中。在实际开发中,我们可以根据需求来决定使用哪种修饰符来保护类成员的访问权限,从而提高代码的安全性和可维护性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65fff9dfd10417a222b3aa41