📅  最后修改于: 2023-12-03 15:01:37.457000             🧑  作者: Mango
在Javascript中,类是对象的一种具体实现。ES6以后,Javascript中引入了基于类的面向对象编程。在这里我们将会讨论Javascript中类的所有概念和用例。
在Javascript中,定义一个类很简单。我们使用class
关键字来进行定义。如下所示:
class MyClass {
}
这将定义了一个空的类名为MyClass。这个类可以用来创建我们需要的对象。
一个类的构造函数可以使用constructor()
方法。这个方法会在对象实例化时被自动执行。可以在构造函数中初始化类的属性,如下所示:
class MyClass {
constructor(name) {
this.name = name;
}
}
const myObject = new MyClass("John");
console.log(myObject.name); // Output: John
上述代码定义了一个名为MyClass的类,并且定义了一个参数为name的构造函数。在例子中,我们创建了一个名为myObject的对象,并传入了"John"作为参数。最后,我们打印出了myObject对象的属性name,打印出的结果为"John"。
类的方法是定义在类中的函数。通过方法实现了类的行为。添加方法很简单,类似于函数,只需要在类的定义中添加一个方法名,再加上参数和函数体即可。
class MyClass {
constructor(name) {
this.name = name;
}
sayHello() {
console.log(`Hello ${this.name}!`);
}
}
const myObject = new MyClass("John");
myObject.sayHello(); // Output: Hello John!
上述代码定义了一个名为MyClass的类,并且定义了一个参数为name的构造函数和一个名为sayHello的方法。在例子中,我们创建了一个名为myObject的对象,并传入了"John"作为参数。最后,我们调用了myObject对象的sayHello方法。
Javascript中,继承类使用关键词extends
来实现,子类可以通过继承父类的方法和属性来实现相同的功能。
class Animal {
constructor(name) {
this.name = name;
}
speak() {
console.log(`${this.name} makes a noise.`);
}
}
class Dog extends Animal {
speak() {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog('Rex');
dog.speak(); // Output: Rex barks.
上述代码定义了一个名为Animal的类,并定义了一个名为speak的方法。接着我们定义了一个名为Dog 的类继承自Animal类。新的speak()方法重写了Animal类的同名方法并打印不同的输出。
以上是Javascript ES6的类的相关概念和用法。我们可以使用类来实现面向对象编程,定义属性和方法,还可以使用继承来实现代码复用和拓展。