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

js原型与继承

2017-07-16 11:08 330 查看
var Beverage = function(){};

Beverage.prototype.boilWater = function(){
console.log("把水煮沸");
};
Beverage.prototype.brew = function(){
throw new Error("子类必须重写该方法");
};
Beverage.prototype.pourInCup = function(){
throw new Error("子类必须重写该方法");
};
Beverage.prototype.addCondiments = function(){
throw new Error("子类必须重写该方法");
};
Beverage.prototype.customerWantsCondiments = function(){
return true;
};
Beverage.prototype.init = function(){
this.boilWater();
this.brew();
this.pourInCup();
if(this.customerWantsCondiments){
this.addCondiments();
}
};

var Coffee = function(){};
Coffee.prototype = new Beverage();//继承父类Beverage
Coffee.prototype.boilWater = function(){
console.log("把水煮沸");
};
Coffee.prototype.brew = function(){
console.log("用沸水冲泡咖啡");
};
Coffee.prototype.pourInCup = function(){
console.log("把咖啡倒进杯子");
};
Coffee.prototype.addCondiments = function(){
console.log("加糖和牛奶");
};

var Tea = function(){};
Tea.prototype = new Beverage();//继承父类Beverage
Tea.prototype.boilWater = function(){
console.log("把水煮沸");
};
Tea.prototype.brew = function(){
console.log("用沸水浸泡茶叶");
};
Tea.prototype.pourInCup = function(){
console.log("把茶水倒进杯子");
};
Tea.prototype.addCondiments = function(){
console.log("加入柠檬");
};
Tea.prototype.customerWantsCondiments = function(){
return window.confirm("请问需要加调料吗?");
};

var coffee = new Coffee();//实例化Coffee
coffee.init();

var tea = new Tea();//实例化Tea
tea.init();


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: