亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node.js實現的裝飾者模式示例

發布時間:2020-10-05 16:06:26 來源:腳本之家 閱讀:141 作者:MatthewehttaM 欄目:web開發

本文實例講述了node.js實現的裝飾者模式。分享給大家供大家參考,具體如下:

裝飾者模式的實現更強調類的組合而不是通過繼承。這樣可以增強靈活性。在node.js 中,可以通過call函數實現。call函數可以在一個對象中調用另一個類的成員函數,從這種意義上達成類的組合目的。

var util = require('util');
var Beverage = function(){
  var description = "Unkown Beverage"
  this.getDescription = function(){
    return description;
  }
}
function Espresso(){
  Beverage.call(this);
  this.description = "Espresso";
}
util.inherits(Espresso, Beverage);
Espresso.prototype.cost = function(){
  return 1.99;
}
function HouseBlend(){
  Beverage.call(this);
  this.description = "House Blend Coffee";
}
util.inherits(HouseBlend, Beverage);
HouseBlend.prototype.cost = function(){
  return .89;
}
function Mocha(beverage){
  this.beverage = beverage;
};
Mocha.prototype.getDescription = function(){
  return this.beverage.getDescription() + ", Mocha";
}
Mocha.prototype.cost = function(){
  return 0.20 + this.beverage.cost();
}
function Whip(beverage){
  this.beverage = beverage;
};
Whip.prototype.getDescription = function(){
  return this.beverage.getDescription() + ", Whip";
}
Whip.prototype.cost = function(){
  return 0.40 + this.beverage.cost();
}
var beverage = new Espresso();
console.log(beverage.getDescription() + " $" + beverage.cost());
var beverage2 = new HouseBlend();
beverage2 = new Mocha(beverage2);
beverage2 = new Mocha(beverage2);
beverage2 = new Whip(beverage2);
console.log(beverage2.getDescription() + " $" + beverage2.cost());

希望本文所述對大家node.js程序設計有所幫助。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜新市| 绵阳市| 濮阳县| 静海县| 翼城县| 讷河市| 灵丘县| 科技| 墨竹工卡县| 隆昌县| 永康市| 宁强县| 衡阳市| 维西| 凌源市| 仁布县| 黄浦区| 达孜县| 化德县| 玉环县| 汶上县| 汤阴县| 什邡市| 青神县| 射洪县| 自贡市| 南漳县| 南川市| 嘉祥县| 阿尔山市| 黄浦区| 东丽区| 特克斯县| 静宁县| 县级市| 湛江市| 长春市| 清涧县| 图们市| 沿河| 大新县|