JavaScript的多态经典案例

JS的面向对象编程特性的另外一个就是多态性,这个多态性可以是JS这样的弱数据类型语言的强项。几乎是天然支

持的。而且对于代码的移植和继续开发以及代码的冗余有非常大的好处,下面我们来看一个例子,代码如下

<!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这个类不知道他到底调用的是谁的方法,但是通过多态这个东西,他还是很轻松的知道最后调

用的是谁,所以说这个多态的证明是显而易见的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值