JavaScript 面向对象:多态

来源:互联网 发布:心理学本科网络教育 编辑:程序博客网 时间:2024/06/11 05:28
function Person(){            this.test1=function(){                window.alert("Person test1");            }        }        function Cat(){            this.test1=function(){                window.alert("Cat test1()");            }        }        var v=new Person();        v.test1();        v=new Cat();        v.test1();


function Master(){            //给动物喂食            this.feed=function(animal,food){                window.alert(animal.constructor);                document.writeln("主人给"+animal.name+" 喂:"+food.name+"<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 Banana(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);        }        function Monkey(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);        master.feed(new Monkey('小猴'),new Banana('香蕉'));


0 0