不二如是 发表于 2018-8-5 17:07:28

012 ※ 同法多调的多态

本帖最后由 不二如是 于 2018-8-5 17:32 编辑

关于为什么要学习JavaScript设计模式,请看:传送门



上一讲成功拿下多继承的不二内心有些小膨胀~



这不利用闲暇时间准备攻克面向对象编程中最后的堡垒:多态。

多态,就是同一个方法多种调用方式。

通过JS我们轻松可以实现,只需要对传入的参数做判断,然后指定不同的方法。

例如我们定义一个fishc方法,如果不传参数,返回“我爱鱼C”。

传入一个参数,返回“鱼C主页:https://www.ilovefishc.com”。

传入两个参数,返回"让编程改变世界"。

编写代码:
//    多态
    function fishc() {
      var arg = arguments,
//      获取参数长度
            len = arg.length;

      switch (len) {
//            无参数
            case 0:
                return "我爱鱼C";
//            一个参数
            case 1:
                return "鱼C主页:https://www.ilovefishc.com";
//            两个参数
            case 2:
                return "让编程改变世界"
      }
    }

测试:
console.log(fishc());
    console.log(fishc('fishc'));
    console.log(fishc(1,2));


源码:

再次顺利搞定,通过一下午的奋斗,不二终于搞定面向对象中的三个基本知识:
封装、继承、多态


预知后事如何,请看下回分解{:10_303:}



课后作业


1、多态是多个对象调用同一个方法吗?(T/F)



答案:
**** Hidden Message *****



如果有收获,别忘了评分{:10_281:} :

http://xxx.fishc.com/forum/201709/19/094516hku92k2g4kefz8ms.gif

这位鱼油,如果喜欢JS-设计模式,请订阅 专辑☞(传送门)(不喜欢更要订阅{:10_297:} )

http://xxx.fishc.com/forum/201803/21/151715umqz1qoywp11wjbq.gif

TCY 发表于 2018-12-7 13:09:30

T/F

优时风 发表于 2020-6-23 00:20:27

T

jack6666 发表于 2022-10-21 21:35:10

1

CKP_1998 发表于 2023-4-24 17:05:32

多个不同的对象调用同一种方法产生不同的作用效果
页: [1]
查看完整版本: 012 ※ 同法多调的多态