TypeScript 中如何在类中使用修饰符

阅读时长 5 min read

TypeScript 是一个由微软开发的开源编程语言,它是 JavaScript 的一个超集,提供了一些额外的功能和语法,使得编写大型应用程序更加容易和可靠。其中一个特性就是修饰符,它可以帮助我们更好地控制类的访问权限,从而提高代码的可维护性和安全性。

修饰符的类型

在 TypeScript 中,有三种不同的修饰符,分别是 public、private 和 protected。它们分别表示公共的、私有的和受保护的成员。

  1. public:默认情况下,所有的成员都是 public 的,也就是说它们可以在任何地方被访问到。

  2. private:如果将成员标记为 private,那么它们只能在类的内部被访问到,外部无法访问。

  3. protected:如果将成员标记为 protected,那么它们可以在类的内部和子类中被访问到,但是外部无法访问。

如何使用修饰符

在 TypeScript 中,我们可以在类的成员前面添加修饰符,来控制它们的访问权限。例如:

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

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

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

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

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

在上面的代码中,我们定义了一个 Person 类,它有三个成员变量和三个成员方法。其中,name 是公共的,age 是私有的,gender 是受保护的。sayHello() 是公共的,sayAge() 是私有的,sayGender() 是受保护的。

修饰符的作用

使用修饰符可以帮助我们更好地控制类的访问权限,从而提高代码的可维护性和安全性。具体来说,它们有以下几个作用:

  1. 隐藏实现细节:将某些成员标记为 private,可以隐藏它们的实现细节,避免被外部访问到,从而提高代码的安全性和健壮性。

  2. 提高代码复用性:将某些成员标记为 protected,可以让它们在子类中被访问到,从而提高代码的复用性和可扩展性。

  3. 简化代码逻辑:将某些成员标记为 public,可以简化代码逻辑,让代码更加易读和易懂。

示例代码

下面是一个使用修饰符的示例代码,它演示了如何定义一个 Animal 类,并使用 public、private 和 protected 修饰符来控制成员的访问权限:

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

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

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

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

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

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

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

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

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

在上面的代码中,我们定义了一个 Animal 类,它有三个成员变量和三个成员方法。其中,name 是公共的,age 是私有的,gender 是受保护的。eat() 是公共的,sleep() 是私有的,run() 是受保护的。

然后,我们定义了一个 Cat 类,它继承自 Animal 类。Cat 类有两个公共方法,meow() 和 play()。在 play() 方法中,我们调用了父类的受保护方法 run(),以及自己的公共方法 meow()。

最后,我们创建了一个名为 tom 的 Cat 实例,并调用了它的公共方法 eat()、meow() 和 play()。可以看到,由于 sleep() 方法是私有的,所以我们无法在外部访问它。而 run() 方法是受保护的,所以我们只能在子类中访问它。这样,我们就成功地使用修饰符控制了类的访问权限,从而提高了代码的可维护性和安全性。

Source: FunTeaLearn,Please indicate the source for reprints https://funteas.com/post/67d2b522a941bf713454973b

Feed
back