class
在过去,JavaScript 是一门基于原型的面向对象编程语言,没有 Class 和模块化的概念。这导致了代码的组织结构混乱,难以维护和扩展。 类和对象 我们生活中有很多的车,小车,汽车,自行车,

class

发布时间:2024-07-01 (2024-07-01)

在过去,JavaScript 是一门基于原型的面向对象编程语言,没有 Class 和模块化的概念。这导致了代码的组织结构混乱,难以维护和扩展。

类和对象

我们生活中有很多的车,小车,汽车,自行车,火车,摩托车,电动车

他们都是属于“车”这么一类

具体的一辆你在2024年买的一辆四个轮子的小车,这就叫对象

class定义

class Animal{
    name
    age
    constructor(name) {
        this.name = name
        this.age = 2
    }
    eat(){
        console.log(`${this.name}在吃饭`)
    }
}

const cat = new Animal("加菲猫")

console.log(cat)
cat.eat()

其中的constructor属于构造方法,name、age属于对象属性,eat属于对象方法

其中的eat方法是在原型上的

继承

使用class之后就能很方便的使用继承功能

使用extends 去继承父类

这样子类就有父类的属性和方法了

class Animal{
    name
    constructor(name) {
        this.name = name
    }
    eat(){
        console.log(`${this.name}在吃饭`)
    }
}
// 猫继承动物的属性或方法
class Cat extends Animal{
    color
    constructor(name, color) {
        super(name);
        this.color = color
    }
    running(){
        console.log("猫在行走")
    }
}
const cat = new Cat("加菲猫", "白色")
console.log(cat)

其中的super()方法是用于实例化继承的类

静态属性和方法

只能由类去调用

class Animal{
    static name = "动物"
    static eat(){
        console.log(`在吃饭`)
    }
}

Animal.eat()
console.log(Animal.name)