JavaScript 使用 class 关键字定义类

· 约 6 分钟读完 · 第 63 / 165 章

类的基本概念

在JavaScript中,class关键字用于定义类。类是一种模板,它描述了特定类型对象的属性和方法。尽管JavaScript中的类是基于原型继承的一种语法糖,但使用class语法可以让代码看起来更简洁、更易于理解。

创建一个简单的类

要创建一个类,首先需要使用class关键字,后跟类名,然后大括号内定义类的内容。例如,我们可以创建一个简单的类来表示一个矩形:

在这个例子中,我们定义了一个名为Rectangle的类,并且在构造函数中初始化了height和width两个属性。

类的方法

类不仅能够拥有属性,还可以定义方法。方法是在类中定义的函数,用于执行特定的操作。例如,我们可以在Rectangle类中添加计算面积的方法:

这里,我们添加了一个名为getArea的方法,该方法返回矩形的面积。

静态方法

除了实例方法,类还可以定义静态方法。静态方法可以直接通过类调用,而不需要先创建类的实例。静态方法通常用于工具函数或不依赖于实例状态的操作。例如,我们可以为Rectangle类添加一个静态方法来检查两个矩形是否相交:

在这个例子中,isIntersect是一个静态方法,它接受两个Rectangle对象作为参数,并判断它们是否相交。

继承

类支持继承,这意味着你可以从一个已有的类派生出新的子类。子类会继承父类的所有属性和方法,并且可以添加自己的新属性和方法,或者覆盖父类的方法。例如,我们可以定义一个名为Square的类,它是Rectangle类的子类:

在这个例子中,Square类扩展了Rectangle类,并且重写了构造函数和getArea方法。注意,在子类的构造函数中,我们使用了super关键字来调用父类的构造函数,并且在getArea方法中也使用了super关键字来调用父类的方法。

Getter 和 Setter

除了常规的方法外,类还可以定义getter和setter方法,用于访问和修改对象的属性。这些方法允许你在读取或设置属性时执行额外的逻辑。例如,我们可以在Rectangle类中添加一个name属性,并通过getter和setter方法来管理它:

在这个例子中,我们使用了_height和_width作为私有变量,通过getter和setter方法来控制对这些变量的访问。这有助于确保数据的一致性和完整性。

以上就是JavaScript中使用class关键字定义类的基本内容。通过这些基础知识,你可以开始构建更复杂的类结构,实现面向对象编程。