JavaScript 多态

JavaScript 多态

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

示例1

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

<script>
class A
  {
     display()
    {
      document.writeln("A is invoked");
    }
  }
class B extends A
  {
  }
var b=new B();
b.display();
</script>

输出:

A is invoked

示例2

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

<script>
class A
  {
     display()
    {
      document.writeln("A is invoked<br>");
    }
  }
class B extends A
  {
    display()
    {
      document.writeln("B is invoked");
    }
  }

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

输出:

A is invoked
B is invoked

示例3

让我们用基于原型的方法来看同样的示例。

<script>
function A()
{
}
A.prototype.display=function()
{
  return "A is invoked";
}
function B()
{

}

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

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

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

输出:

A is invoked
B is invoked

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程