重学JavaScript07----- 面向对象之多态
文章目录
- 重学JavaScript07----- 面向对象之多态
- 多态
多态
面向对象的三大特性:封装、继承、多态。
- JavaScript有多态吗?
- 维基百科对多态的定义:多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口,或使用一个单一的符号来表示多个不同的类型。
- 非常的抽象,个人的总结:不同的数据类型进行同一个操作,表现出不同的行为,就是多态的体现。
- 那么从上面的定义来看,JavaScript是一定存在多态的
// 多态: 当对不同的数据类型执行同一个操作时, 如果表现出来的行为(形态)不一样, 那么就是多态的体现.
function calcArea(foo) {console.log(foo.getArea())
}var obj1 = {name: "死侍",getArea: function() {return 1000}
}class Person {getArea() {return 100}
}var p = new Person()calcArea(obj1)
calcArea(p)// 也是多态的体现
function sum(m, n) {return m + n
}sum(20, 30)
sum("abc", "cba")