您的位置:首页 > Web前端 > JavaScript

JavaScript 面向对象:多态

2016-06-17 14:27 267 查看
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('香蕉'));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: