多态性是面向对象范式的核心概念,它提供了以不同形式执行单一操作的方式。它允许在不同的JavaScript对象上调用相同的方法。由于JavaScript不是一种类型安全的语言,我们可以通过方法传递任何类型的数据成员。

JavaScript多态性示例1

让我们看一个例子,其中子类对象调用父类方法。

class A {
  display() {
    document.writeln("A被调用了");
  }
}

class B extends A {
}

var b = new B();
b.display();

输出:

A被调用了

示例2

让我们看一个例子,其中子类和父类都包含相同的方法。在这里,子类的对象调用了两个类的方法。

class A {
  display() {
    document.writeln("A被调用了<br>");
  }
}

class B extends A {
  display() {
    document.writeln("B被调用了");
  }
}

var a = [new A(), new B()];
a.forEach(function(msg) {
  msg.display();
});

输出:

A被调用了
B被调用了

示例3

让我们看一下使用基于原型的方法实现相同的示例。

function A() {
}

A.prototype.display = function() {
  return "A被调用了";
};

function B() {
}

B.prototype = Object.create(A.prototype);

var a = [new A(), new B()];

a.forEach(function(msg) {
  document.writeln(msg.display() + "<br>");
});

输出:

A被调用了
B被调用了

标签: js, JavaScript, JavaScript语言, JavaScript开发, JavaScript语法, JavaScript脚本, JavaScript教程, JavaScript入门, JavaScript入门教程, JavaScript进阶, JavaScript宝典, JavaScript学习, JavaScript指南, JavaScript大全