js通过对象冒充的方式达到继承。
此处主人类还是会去判断动物类型和食物类型,体现多态。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的结果。基类的引用指向指向子类的对象。
<html>
<head>
<script language="javascript">
function Master(){
this.feed=function(animal,food){
document.write("主人给"+animal.name+"喂"+food.name)
}
}
function Food(name){
this.name=name;
}
function Fish(name){
this.food=Food; //此处用对象冒充的方式来达到js的继承
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 master=new Master();
var cat=new Cat("小猫");
var fish=new Fish('鱼');
master.feed(cat,fish);
</script>
</head>
<body>
</body>
</html>