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