JavaScript的多态经典案例
2012-04-04 19:58
288 查看
JS的面向对象编程特性的另外一个就是多态性,这个多态性可以是JS这样的弱数据类型语言的强项。几乎是天然支
持的。而且对于代码的移植和继续开发以及代码的冗余有非常大的好处,下面我们来看一个例子,代码如下
可以看到,虽然Master这个类不知道他到底调用的是谁的方法,但是通过多态这个东西,他还是很轻松的知道最后调
用的是谁,所以说这个多态的证明是显而易见的。
持的。而且对于代码的移植和继续开发以及代码的冗余有非常大的好处,下面我们来看一个例子,代码如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>test2.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="this is my page"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript"> function Master(){ //主人类,给动物喂食 this.feed=function(animal,food){ document.writeln(animal.constructor+"<br/><br/>"); document.writeln("主人给"+animal.name+"喂"+food.name+"<br/><br/>"); } } //食物类 function Food(name){ this.name=name; } function Fish(name){ this.food=Food; this.food(name); } function Bone(name){ this.food=Food; this.food(name); } //动物类 function Animal(name){ this.name=name; } function Cat(name){ this.animal=Animal; this.animal(name); } function Dog(name){ this.animal=Animal; this.animal(name); } var cat = new Cat("小猫"); var dog = new Dog("小狗"); var fish = new Fish("小鱼"); var bone = new Bone("骨头"); var master = new Master(); master.feed(cat, fish); master.feed(dog, bone); </script> </head> <body> </body> </html>
可以看到,虽然Master这个类不知道他到底调用的是谁的方法,但是通过多态这个东西,他还是很轻松的知道最后调
用的是谁,所以说这个多态的证明是显而易见的。
相关文章推荐
- JavaScript的多态经典案例
- 韩顺平 javascript教学视频_学习笔记20_多态经典案例_补讲闭包细节
- JavaScript的3个经典案例
- javascript经典案例
- javascript复习第二天经典灯泡开关案例
- javascript 经典案例 面向对象的选项卡
- javascript 经典案例 全选 不选 反选
- javascript 经典案例
- 一个多态经典案例
- (Javascript经典案例) -- 捕获鼠标点击位置并将元素移动到该位置
- 经典案例分析多态
- Javascript+CSS经典效果案例剖解
- javascript的理解及经典案例分析
- JavaScript经典案例
- javascript的理解及经典案例
- javascript逐字输出案例
- Javascript小案例(一):仿淘宝搜索框用户输入事件的实现
- 工作中比较实用的JavaScript验证和数据处理的干货(经典)
- javascript学习总结三 OOP(构造、属性、多态、继承)
- 今晚直播 | 泰坦尼克号经典案例分析