技术学习
首页
个人简介
GitHub (opens new window)
首页
个人简介
GitHub (opens new window)
  • blog
2024-01-08
目录

JavaScript对象继承

# JavaScript对象继承

class Animal {
  constructor(name) {
    this.name = name;
  }
  
  // 父类方法
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

// 子类
class Dog extends Animal {
  constructor(name, breed) {
    super(name);
    this.breed = breed;
  }
  
  // 子类方法
  speak() {
    console.log(`${this.name} barks.`);
  }
}

// 创建对象
const animal = new Animal('Animal');
const dog = new Dog('Dog', 'German Shepherd');

animal.speak();  // Output: Animal makes a noise.
dog.speak();  // Output: Dog barks.

以上代码实现了JavaScript对象继承的功能。

首先定义了一个父类Animal,构造函数中接收一个name参数,并将其赋值给实例的name属性。类中还包含一个speak方法,用于输出动物的叫声。 然后定义了一个子类Dog,继承自Animal。子类的构造函数接收两个参数name和breed,其中name作为父类构造函数的参数传递,breed则是子类特有的属性。子类中重写了speak方法,用于输出狗的叫声。 最后,创建了一个父类对象animal和一个子类对象dog,分别调用它们的speak方法进行输出。

以上代码中使用了ES6的class语法来定义类,并使用了extends关键字来实现继承。父类的构造函数中使用super关键字来调用父类的构造函数。子类中重写了父类的方法,即实现了方法的覆盖。

最近更新
01
02
03
es6 Map对象
01-11
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式