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 T/F T 1 多个不同的对象调用同一种方法产生不同的作用效果
页:
[1]