【JavaScript】面向对象之多态

重学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")

你可能感兴趣的:(js,javascript)