TypeScript 是一个由微软开发的开源编程语言,它是 JavaScript 的一个超集,提供了一些额外的功能和语法,使得编写大型应用程序更加容易和可靠。其中一个特性就是修饰符,它可以帮助我们更好地控制类的访问权限,从而提高代码的可维护性和安全性。
修饰符的类型
在 TypeScript 中,有三种不同的修饰符,分别是 public、private 和 protected。它们分别表示公共的、私有的和受保护的成员。
public:默认情况下,所有的成员都是 public 的,也就是说它们可以在任何地方被访问到。
private:如果将成员标记为 private,那么它们只能在类的内部被访问到,外部无法访问。
protected:如果将成员标记为 protected,那么它们可以在类的内部和子类中被访问到,但是外部无法访问。
如何使用修饰符
在 TypeScript 中,我们可以在类的成员前面添加修饰符,来控制它们的访问权限。例如:
-- -------------------- ---- -------
----- ------ -
------ ----- -------
------- ---- -------
--------- ------- -------
----------------- ------- ---- ------- ------- ------- -
--------- - -----
-------- - ----
----------- - -------
-
------ ---------- -
------------------- -- ---- -- ----------------
-
------- -------- -
-------------- -- ----------- ----- -------
-
--------- ----------- -
--------------- ------ -- ------------------
-
-在上面的代码中,我们定义了一个 Person 类,它有三个成员变量和三个成员方法。其中,name 是公共的,age 是私有的,gender 是受保护的。sayHello() 是公共的,sayAge() 是私有的,sayGender() 是受保护的。
修饰符的作用
使用修饰符可以帮助我们更好地控制类的访问权限,从而提高代码的可维护性和安全性。具体来说,它们有以下几个作用:
隐藏实现细节:将某些成员标记为 private,可以隐藏它们的实现细节,避免被外部访问到,从而提高代码的安全性和健壮性。
提高代码复用性:将某些成员标记为 protected,可以让它们在子类中被访问到,从而提高代码的复用性和可扩展性。
简化代码逻辑:将某些成员标记为 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