psb

<script type=”text/javascript”>
// Master类
function Master(name){
this.nam=name;
//方法[给动物喂食物]

}
//原型法添加成员函数
Master.prototype.feed=function (animal,food){

window.alert(“给”+animal.name+” 喂”+ food.name);
}

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 Peach(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 fish=new Fish(“黄花鱼”);

var dog=new Dog(“大花狗”);
var bone=new Bone(“猪骨头”);

//创建一个主人
var master=new Master(“Admin”);
master.feed(dog,bone);

//扩展
var monkey=new Monkey(“金丝猴”);
var peach=new Peach(“仙桃”);

master.feed(monkey,peach);

</script>
总结:多态有利于代码的维护和扩展,这里我们可以考虑,如果食物 加入
桃子,动物加入 猴子,可以看到,Master的feed函数不需要的变化。

 

发表回复