ECMAScript 2016是JavaScript的一种新版本,它为我们带来了许多新的功能和改进。其中之一就是面向对象编程的新扩展。在这篇文章中,我们将探讨这些扩展,并提供一些在你的代码中使用它们的示例。
类(Class)
ECMAScript 2016引入了类(Class)的概念。类是一种可以用来创建对象的模板。它们可以包含属性和方法,而且可以继承自其他的类。
基本语法
类定义是由class关键字开始的,紧接着是类名。在类定义的大括号中,我们可以定义属性和方法。
例如,这里有一个定义了一个名为Person的类的示例:
----- ------ - ----------------- - --------- - ----- - ---------- - ------------------- -- ---- -- - - ----------- - -
这是一个非常简单的类定义。它有一个构造函数,它使用一个参数来初始化类的属性。此外,它还有一个sayHello()方法,该方法将打印出类的名称属性。
实例化类
在上面的示例中,我们定义了一个名为Person的类,现在我们需要实例化它。要实例化一个类,可以使用new关键字。在使用new关键字时,我们将调用类的构造函数来创建一个新的实例。
例如:
--- ------ - --- ---------------- ------------------ -- ------ -- ---- -- -----
继承
继承是另一个使用类的重要功能。它允许我们从其他的类中派生一个新的类,并且可以使用基类的属性和方法。
要从一个类派生一个新的类,我们可以使用extends关键字。在extends后面,我们可以指定我们想要从哪个类派生,然后在派生类的构造函数中调用super()方法来调用基类的构造函数。
例如:
----- ------- ------- ------ - ----------------- ------ - ------------ ---------- - ------ - ---------- - --------------- ----- -- - - ----------- - -
在这个示例中,我们从Person类中派生了一个新的Student类。Student类有一个新的属性grade,并且还有一个新的方法sayGrade。
示例代码
这里有一个使用类的示例代码:
----- ----- - -------------- -- - ------ - -- ------ - -- - ------- -- - ------ -- -- ------ -- -- - ------ - ----------------- ----- --- -- ------- - - ----- --------- ------- ----- - -------------- -- ------ ------- - -------- --- ---------- - ------ ----------- - ------- - ------ - ---------------- ---- -- --- --------- -- - - ----------- - -------------- - - ----- ------ ------- ----- - -------------- -- ------- - -------- --- ----------- - ------- - ------ - ---------------- ---- -- --- ------ -- - - -------- - ----------- - -------------- - - --- ---- - --- ------------ -- -- ---- ------------------------- -- --- ---- -- --- --------- -- -- --- ------ - --- --------- -- --- --------------------------- -- --- ---- -- --- ------ -- -----------------
在这个代码中,我们首先定义了一个Shape类,它是一个表示形状的基类。这个类有一个构造函数,x和y属性,以及move()和area()方法。
接下来,我们定义了一个Rectangle类和一个Circle类,它们分别派生自Shape。这两个类分别有一个新的构造函数和一个新的area()方法。在Rectangle类中,我们计算矩形的面积。在Circle类中,我们计算圆的面积。
最后,我们实例化了Rectangle和Circle,并且调用它们各自的area()方法来计算它们的面积。
总结
ECMAScript 2016引入了类的概念,这使得面向对象编程更加容易和直观。通过使用类,我们可以创建对象,并且可以使用继承来扩展现有的功能。在实践中,我们可以使用类来构建模块化的代码,从而使代码更加易于维护。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/64b11cf148841e9894d71b1b