TypeScript 中定义类的属性和方法的详解

阅读时长 5 分钟读完

在 TypeScript 中,类是定义对象的蓝图,它是构造面向对象程序的基础。在本文中,我们将详细讨论如何在 TypeScript 中定义类的属性和方法。

定义类的属性

类的属性是类所拥有的变量。它们可以是基本类型,如字符串、数字或布尔类型,也可以是自定义类型。下面是在 TypeScript 中定义属性的语法:

在上面的代码中,我们定义了一个名为 myProperty 的属性,这个属性是一个数字类型的数据。可以在类外部或内部使用点记号或方括号来访问它。

在上述代码中,我们创建了一个名为 myObjectMyClass 对象,并访问了它的属性。

注意: 如果一个属性没有被初始化,并且没有在构造函数中被赋值,那么他将会被初始化为 undefined

定义类的方法

类的方法是类中声明的函数。它们可以访问类的属性和其他方法,也可以使用自定义类型。在 TypeScript 中,我们可以定义公共和私有方法。

下面是在 TypeScript 中定义方法的语法:

在上面的代码中,我们定义了一个名为 myMethod 的方法,这个方法接受一个数字类型的参数 param1 和一个字符串类型的参数 param2,并使用 console.log 函数打印这些参数。

在上述代码中,我们创建了一个名为 myObjectMyClass 对象,并调用了它的方法。

公共和私有方法

在 TypeScript 中,公共方法是可以从类的外部访问的方法。私有方法不能从类的外部访问,只能从内部调用。

下面是在 TypeScript 中定义私有方法的语法:

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

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

在上面的代码中,我们定义了一个名为 myPrivateMethod 的私有方法和一个名为 myPublicMethod 的公共方法。在 myPrivateMethod 中,我们只是简单地打印一条消息。在 myPublicMethod 中,我们打印了另一条消息,并调用了私有方法。

在上述代码中,我们创建了一个名为 myObjectMyClass 对象,并调用了它的公共方法。当我们尝试从外部调用 myPrivateMethod 时,编译器会发出错误,因为 myPrivateMethod 是一个私有方法,不能从外部访问。

总结

在 TypeScript 中,类是构建面向对象程序的基础。在本文中,我们详细介绍了如何在 TypeScript 中定义类的属性和方法。我们讨论了如何访问属性和方法,以及如何定义公共和私有方法。希望这篇文章能对你有所帮助!下面是完整的示例代码:

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

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

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

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

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

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

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

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

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

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64823aa248841e98941abef4

纠错
反馈