个性化阅读
专注于IT技术分析

JavaScript的OOPS多态性

多态性是一个面向对象的范例,其提供以执行在不同形式的单个动作的方式的一个核心概念。它提供了调用相同的方法在不同的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
赞(0)
未经允许不得转载:srcmini » JavaScript的OOPS多态性

评论 抢沙发

评论前必须登录!