JavaScript中的面向对象的编程(OOP)
#javascript #编程 #教程 #oops

让我们以一个有趣的类比开始进入编程世界的旅程。想象一下您在一个繁华的火车站。有不同类型的火车,每种火车都具有其独特的功能和功能。这与JavaScript中的OOP的工作方式非常相似。

什么是OOP?

面向对象的编程(OOP)就像火车系统。就像火车由不同的教练组成一样,OOP中的应用程序由不同的物体组成。这些对象是类的实例,可以将其视为创建对象的蓝图。

对象及其特殊功能

在JavaScript中,对象就像是特殊的火车。它们具有属性的值,可以使用方法执行任务。

例如,让我们以train对象:

let train = {
  name: 'Express',
  speed: 100,
  capacity: 500,
  start: function() {
    console.log(this.name + ' has started moving');
  },
  stop: function() {
    console.log(this.name + ' has stopped');
  }
};

Herenamespeed和容量是火车的特性,而start()stop()是方法。

蓝图:类

类就像用于创建火车的蓝图一样。就像每列火车都遵循一个蓝图具有引擎,转向架和某些速度一样,JavaScript中的每个对象都遵循一个类。

这是JavaScript中Train类的示例:

class Train {
  constructor(name, speed, capacity) {
    this.name = name;
    this.speed = speed;
    this.capacity = capacity;
  }

  start() {
    console.log(`${this.name} has started moving`);
  }

  stop() {
    console.log(`${this.name} has stopped`);
  }
}

要创建新火车,我们现在可以使用:

let expressTrain = new Train('Express', 100, 500);

就像真正的火车一样,我们的expressTrain现在可以开始和停止:

expressTrain.start();
expressTrain.stop();

特殊火车:继承

假设我们现在想添加一种特殊类型的火车,一种“子弹列车”,该火车具有火车的所有特性,但也可以倾斜。我们可以通过继承来实现这一目标。

在JavaScript中,我们使用关键字extends从另一个类继承。这是我们可以创建一个扩展Train类的BulletTrain类:

class BulletTrain extends Train {
  constructor(name, speed, capacity) {
    super(name, speed, capacity);
  }

  tilt() {
    console.log(`${this.name} is tilting`);
  }
}

现在,我们可以创建一个BulletTrain,可以完成普通Train可以做的一切,也可以倾斜:

let bulletTrain = new BulletTrain('Shinkansen', 200, 400);
bulletTrain.start();
bulletTrain.stop();
bulletTrain.tilt();

,你去了!这是通过繁华的火车站的镜头可以看到的简单而友好的介绍JavaScript的针对对象的编程。请记住,对象是特殊的火车,课程是这些火车的蓝图,继承使我们可以创建新型的特殊火车。 Choo Choo!愉快的编码!