Menu
CoddyTech

继承

本课属于 Coddy JavaScript 学习旅程的“面向对象编程”单元。第 24 课,共 56 课。

JavaScript 面向对象编程中的继承,是一个类获取另一个类的所有属性和方法的一种方式。

我们来看一个例子。创建一个父类:

class Vehicle {
 constructor(brand, model) {
   this.brand = brand;
   this.model = model;
 }
 drive() {
   console.log("Driving!");
 }
}

现在创建一个继承 Vehicle 的子类:

// Car 继承自 Vehicle
class Car extends Vehicle {
 honk() {
   console.log("Beep beep!");
 }
}

创建子类的一个实例:

const myCar = new Car("Toyota", "Camry");

访问属性和方法:

console.log(myCar.brand);  // "Toyota" 继承自 Vehicle
console.log(myCar.model);  // "Camry" 继承自 Vehicle
// Car 可以调用 Vehicle 的方法
myCar.drive();  // "Driving!" 继承自 Vehicle
// Car 也有自己的方法
myCar.honk();   // "Beep beep!" 是 Car 特有的
challenge icon

挑战

你会得到一个 Animal 类和一个继承自它的 Dog 类。你的任务是创建一个名为 "Buddy"、年龄为 3 的 myDog 对象。

亲手试试

import { Dog } from './animal.js';

// TODO:创建 myDog 对象,将 name 设为 "Buddy",age 设为 3。


// 测试代码,请勿修改
console.log(myDog.name);  // 应输出 "Buddy"
console.log(myDog.age);  // 应输出 3
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

面向对象编程中的所有课

自己练习: JavaScript 在线编译器