js中实现多态
最近读到一本书《JavaScript设计模式与开发实践》上,讲到js的多态,我在JavaScript高级程序编程里貌似都没有见过关于这个的详细讲解,所以想问问大家有没有什么推荐的文章或者博客,可以推荐给小弟的,让小弟可以深入了解一下。
先把那本上的例子拿出来跟大家分享:
书里面的故事:本人家里养了一只鸡,一只鸭。当主人向他们发出‘叫’的命令时。鸭子会嘎嘎的叫,而鸡会咯咯的叫。转化成代码形式如下
非多态代码示例
var makeSound = function(animal) {
if(animal instanceof Duck) {
console.log('嘎嘎嘎');
} else if (animal instanceof Chicken) {
console.log('咯咯咯');
}
}
var Duck = function(){}
var Chiken = function() {};
makeSound(new Chicken());
makeSound(new Duck());
多态的代码示例
var makeSound = function(animal) {
animal.sound();
}
var Duck = function(){}
Duck.prototype.sound = function() {
console.log('嘎嘎嘎')
}
var Chiken = function() {};
Chiken.prototype.sound = function() {
console.log('咯咯咯')
}
makeSound(new Chicken());
makeSound(new Duck());
附(https://segmentfault.com/q/1010000003056336)(http://blog.csdn.net/xiebaochun/article/details/38749953)
最新文章
- 【WP 8.1开发】手机客户端应用接收推送通知
- js模拟import方法导入外部文件
- Lua在给定范围内,生成指定个数不重复随机数组
- MediaPlayer 播放assets 文件夹下面的视频报错
- eclipse开发web应用程序步骤(图解)
- php使用第三方登录
- js中DOM集合的动态特性
- bootstrap 的 datetimepicker 结束时间大于开始时间
- linux内核中驱动开发常见的相似多态
- hibernate 单元测试 5.2
- sql server 深入使用 总结 part1
- 【Machine Learning in Action --2】K-最近邻分类
- Go基础(2)
- 在Visual Studio 2017上配置Glut
- [leetcode]432. All O`one Data Structure全O(1)数据结构
- js 判断数组中是否有某值
- Django 静态文件相关设置
- ubuntu中文版man
- 435. Non-overlapping Intervals
- Xib给特定view添加手势
热门文章
- 数据结构实验之图论七:驴友计划 ( 最短路径 Dijkstra 算法 )
- Maven学习笔记(一)—— Maven基础
- python学习之路---day09
- 应大数据时代而写了个磁力搜索的网页- WWW.MOVIH.COM 磁力
- ZOJ Monthly, January 2019 I Little Sub and Isomorphism Sequences(set 妙用) ZOJ4089
- 隐藏入口文件的apache配置
- 获取url路径的正则
- Linux下Tomcat启动报 The BASEDIR environment variable is not defined
- 2019.3.22 SQL语句(基础篇)
- PIE SDK栅格RGB渲染