美文网首页
js面向对象-多态

js面向对象-多态

作者: zhao_ran | 来源:发表于2022-04-05 21:41 被阅读0次

多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。

比如,本人家里养了一只狗,一只猫。当主人向他们发出‘叫’的命令时。狗会汪汪的叫,而猫会喵喵的叫

多态背后的思想就是 ‘做什么’ 和 ‘谁去做’ 分离开,也就是把 ‘可变的事物’ 和 ‘不变的事物’ 分离开
以上的例子中可以说明,动物都会叫是不变的,不同的动物怎么叫是可变的
把不变的抽离出来,把可变的封装起来,这给予了我们扩张代码的能力,不管多少种动物,都可以增加代码的方式来实现,无需改变产生行为的代码。
实现多态的方式

class Behavior {
        sound(sound) {
          console.log("[ sound ] >", sound);
        }
      }

      class Dog extends Behavior {
        constructor(name) {
          super();
          this.name = name;
        }
      }
      class Cat extends Behavior {
        constructor(name) {
          super();
          this.name = name;
        }
      }

 const dog = new Dog("dog");
 const cat = new Cat("cat");
      dog.sound("汪汪");//汪汪
      cat.sound("喵喵");//喵喵

相关文章

  • JS汇总---面向对象&数组

    面向对象 js原型链的继承 静态属性怎么继承 js原型链以及特点 面向对象有哪几个特点 封装,继承,多态 对象的继...

  • js面向对象-多态

    多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 比如,本人家里养了一只狗,一只猫。当主人向...

  • Prototype

    Prototype是js面向对象中实现多态的核心,或者说是区别于普通面向对象语言如java等的灵魂所在,越是这种玩...

  • JS面向对象精要(二)_函数

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(三)_理解对象

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(四)_构造函数和原型对象

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • JS面向对象精要(五)_继承

    JS面向对象精要(一)_原始类型和引用类型JS面向对象精要(二)_函数JS面向对象精要(三)_理解对象JS面向对象...

  • Java基础day08笔记:多态|多态中成员的特点|多态的应用示

    01-面向对象(多态-概念) 接下来说一下面向对象的第三个特征:多态。 何为多态呢? 其实...

  • JS一些总结

    JS高级总复习 Javascript基础复习 面向对象 把解决问题的重点放在解决问题相关的对象上 封装/继承/多态...

  • 宅男知识大补丸 学多态 认包包

    java零基础入门-面向对象篇(十) 多态 面向对象的三大特征,封装,继承我们讲完了,这次来讲多态。 多态就是指一...

网友评论

      本文标题:js面向对象-多态

      本文链接:https://www.haomeiwen.com/subject/fafojrtx.html