最近读到一本书《JavaScript设计模式与开发实践》上,讲到js的多态,我在JavaScript高级程序编程里貌似都没有见过关于这个的详细讲解,所以想问问大家有没有什么推荐的文章或者博客,可以推荐给小弟的,让小弟可以深入了解一下。先把那本上的例子拿出来跟大家分享:书里面的故事:本人家里养了一只鸡,一只鸭。当主人向他们发出‘叫’的命令时。鸭子会嘎嘎的叫,而鸡会咯咯的叫。转化成代码形式如下非多态代码示例varmakeSound=function(animal){if(animalinstanceofDuck){console.log('嘎嘎嘎');}elseif(animalinstanceofChicken){console.log('咯咯咯');}}varDuck=function(){}varChiken=function(){};makeSound(newChicken());makeSound(newDuck());多态的代码示例varmakeSound=function(animal){animal.sound();}varDuck=function(){}Duck.prototype.sound=function(){console.log('嘎嘎嘎')}varChiken=function(){};Chiken.prototype.sound=function(){console.log('咯咯咯')}makeSound(newChicken());makeSound(newDuck());多态背后的思想是将”做什么“和”谁去做以及怎样去做分开“。
暮色呼如
肥皂起泡泡
相关分类