多态性是一个面向对象的范例,其提供以执行在不同形式的单个动作的方式的一个核心概念。它提供了调用相同的方法在不同的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
【JavaScript的OOPS多态性】让我们来看看有基于原型的方法相同的例子。
<
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
推荐阅读
- JavaScript的OOPS抽象
- JavaScript的OOPS静态方法
- JavaScript的OOPS类
- JavaScript表单验证
- javascript日期
- JavaScript的导航对象
- JavaScript的数学对象
- JavaScript的innerText属性
- JavaScript的document.getElementsByTagName()方法