zoukankan      html  css  js  c++  java
  • JavaScript面向对象--多态

    一、多态的概念

      相同的函数作用于不同的对象,会得到不同的结果,这就是多态。

    二、如果不用多态,会怎么样?

     

    这里有个浅显易懂的例子,定义一个函数叫makeSound,传入不同的对象,函数体里要写不同的情况处理,比如发现传来的是鸭子对象,就发出“嘎嘎嘎”的声音,发现传来的是狗狗,就发出“汪汪汪”的叫声,后面可能还会传来其他熊猫对象、马对象,牛对象。。。这个if、、else if、、写得完吗?

    二、如果用了多态,同样的的情况又会是怎样?

    在同样的情况下,每个对象都定义一个名为yell(喊叫)的函数,函数里面的内容跟本对象的特点挂钩。现在对于makeSound函数来说,它根本不关心传入的是什么对象,它只需要做一件事就行了,那就是执行传入对象中的yell函数

    多态的概念就是如此。比如:把打印机可以看作是父类,它只有一个方法:打印。黑白打印机、彩色打印机是他的两个子类,引用的打印机父类后,两个子类继承了“打印”这个方法。但因为黑白打印机墨水是黑色的,执行打印操作后,效果就是黑白的;而彩色打印机墨水是彩色的,执行打印操作后,效果就是彩色的。

  • 相关阅读:
    unity打包iOS上线归纳
    unity update优化
    3dmax 法线重置
    unity2017分离动作
    unity5 manifest
    Unity5 AssetBundle资源管理架构设计
    ue4 tags 与 cast
    3dmax tcb控制器
    ue4 创建简易动画
    即时战略游戏中实用的寻路算法都有哪些,比较如何?
  • 原文地址:https://www.cnblogs.com/zhangnan35/p/10539254.html
Copyright © 2011-2022 走看看