码迷,mamicode.com
首页 > Web开发 > 详细

js原型与继承

时间:2017-07-16 12:28:20      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:子类   log   bre   uri   func   function   throw   nts   咖啡   

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();

  

js原型与继承

标签:子类   log   bre   uri   func   function   throw   nts   咖啡   

原文地址:http://www.cnblogs.com/yxhblogs/p/7189963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!