JavaScript 多态性
什么是多态性?
多态性是面向对象编程语言的核心概念之一,其中 poly 表示 许多 , morphism 表示 将一个形式转换成另一个形式 。多态性意味着多次调用相同的函数,但具有不同的签名。在现实生活中,例如,一个男孩同时可以是学生、班级班长等,所以一个男孩可以同时执行不同的操作。这就是多态性。
多态性的特点:
- 程序员可以重复使用相同的方法名。
- 多态性减少了可以配对的功能数量。
JavaScript中的继承多态性:
在这个示例中,我们将创建三个具有相同名称但不同操作的函数。这个程序展示了JavaScript中的继承多态性。
示例:
这个示例展示了JavaScript继承多态性。
Javascript
class firstClass {
add() {
console.log("First Method")
}
}
class secondClass extends firstClass {
add() {
console.log(30 + 40);
}
}
class thirdClass extends secondClass {
add() {
console.log("Last Method")
}
}
let ob = new firstClass();
let ob2 = new secondClass();
let ob3 = new thirdClass();
ob.add();
ob2.add();
ob3.add();
输出:
First Method
70
Last Method
上面的代码展示了如何在JavaScript中实现继承多态性。在这段代码中,我们有一个类,并且在这个类中有一个“add”方法,我们在第二个类中继承了这个类。我们使用相同的方法名和不同的方法定义创建了不同的类。这个示例向我们展示了相同的方法根据调用它的对象的不同而执行不同的操作。
函数和对象的多态性: 在JavaScript中,我们也可以通过多态性来创建函数和对象。在下一个示例中,我们将创建两个具有相同名称“area”的函数。我们在类A中定义了area函数。在这个函数中,我们有两个参数 – x和y。通过扩展类A,创建了类B。类B中的area函数通过super关键字调用了类A中的area方法 – 传递参数a和b。为了使类B中的area方法表现不同,我们将在方法中记录类的名称。这样一来,就清楚了area方法会根据调用它的对象的不同而表现不同。
示例: 在这个示例中,我们将使用函数和对象实现多态性。
JavaScript
class A {
area(x, y) {
console.log(x * y);
}
}
class B extends A {
area(a, b) {
super.area(a, b);
console.log('Class B')
}
}
let ob = new B();
let output = ob.area(100, 200);
输出:
20000
Class B
极客教程