鱼C论坛

 找回密码
 立即注册
查看: 1482|回复: 4

[庖丁解牛] 012 ※ 同法多调的多态

[复制链接]
发表于 2018-8-5 17:07:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

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




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

giphy.gif


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

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

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

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

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

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

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

  6.         switch (len) {
  7. //            无参数
  8.             case 0:
  9.                 return "我爱鱼C";
  10. //            一个参数
  11.             case 1:
  12.                 return "鱼C主页:https://www.ilovefishc.com";
  13. //            两个参数
  14.             case 2:
  15.                 return "让编程改变世界"
  16.         }
  17.     }
复制代码


测试:
  1. console.log(fishc());
  2.     console.log(fishc('fishc'));
  3.     console.log(fishc(1,2));
复制代码

Snip20180805_266.png


源码: 012.zip (484 Bytes, 下载次数: 1, 售价: 3 鱼币)

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



预知后事如何,请看下回分解





课后作业


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



答案:
游客,如果您要查看本帖隐藏内容请回复





如果有收获,别忘了评分


                               
登录/注册后可看大图


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



                               
登录/注册后可看大图

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-12-7 13:09:30 | 显示全部楼层
T/F
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-6-23 00:20:27 | 显示全部楼层
T
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-21 21:35:10 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-24 17:05:32 | 显示全部楼层
多个不同的对象调用同一种方法产生不同的作用效果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-25 09:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表