亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 辦公 > Flash > 正文

Flash AS教程:decorator Pattern

2020-07-17 13:19:12
字體:
來源:轉載
供稿:網友
上個星期買了本Head First 的《設計模式》,開始學習了設計模式了,感覺頗多。想想我就是拿著腳本語言來編程的,弄那么深奧的干嘛呢,估計是無聊吧。推薦朋友也看,他說沒有空,是啊,現在的年輕人沒有一個不忙的。說是讓我整理出筆記讓他看看。
這本書是針對java 寫的。沒學過java 不過語法跟flash 的腳本語言as3 還是很相似的。
另外借助于一本 《Advanced.ActionScript.3.with.Design.Patterns》,這個也是設計模式。這兩本書的區別主要在于 行文敘事,讀head first 那書感覺很有趣無需什么基礎,讀《Advanced.ActionScript.3.with.Design.Patterns》,感覺沒有了,為什么呢?那是英文版的,我英文不好,這也是他們的第二個區別。而我的行文則是用as3 來 實現《設計模式》中的所有模式,基本上談實現,不談理解。本人非程序員出身,寫的東西不太好理解哦。呵呵。
第一個首先講的是裝飾者模式:(decorator Pattern)
下面的程序代碼背景:飲料店賣一些飲料Beverage(如咖啡,茶…),在飲料中可以增加調料(如奶,糖..),使他的味道更可口些,就是說調料是來裝飾飲料的。而這一些都要錢才能享受哦。
文件格式基本上是一個類一個文件
//第一個as文件所有飲料包括調料的基類 有一個描述方法 和一個費用方法
package com.dp.decorator {
public class Beverage {
public var description : String = “unkonwn Beverage”;

public function getDescription() : String {
return description;
}
public function cost() : Number {
return 0;
}
}
}
//第二個as 文件繼承自飲料,是一種具體的飲料(濃咖啡Espresso) ,所有的調料都可以來裝飾它(理論上)。
package com.dp.decorator {
import com.dp.decorator.Beverage;
/**
* @author tkj
*/
public class Espresso extends Beverage {
public function Espresso() {
description = “Espresso”;
}
public override functioncost() : Number {
return 1.99;
}
}
}
//這是第三個as文件繼承自飲料,是一種抽象的飲料的調料CondimentDecorator,所有的調料繼承自它,(我在實現的時候發現其實所有的調料可以直接繼承自飲料也可以。),它的子類們會覆蓋它的一切。
package com.dp.decorator {
import com.dp.decorator.Beverage;

/**
* @author tkj
*/
public class CondimentDecorator extends Beverage {
public function CondimentDecorator() {

}
public override function getDescription():String{
return description;

}
}
}
//第四個as文件,是具體的調料mocha(摩卡),它覆蓋了上面的調料類,它的構造函數傳入的對象就是一個飲料實例。它返回的描述getDescription() 是這個調料的描述和傳入的這個實例的描述,它返回的價格cost()是這種調料的價格和傳入的實例的價格。有點遞歸的味道。
package com.dp.decorator {
import com.dp.decorator.Beverage;
import com.dp.decorator.CondimentDecorator;
/**
* @author tkj
*/
public class Mocha extends CondimentDecorator {
publicvar yinliao : Beverage;
public function Mocha(yinliao1 : Beverage) {
this.yinliao = yinliao1;

}
public override functiongetDescription() : String {
return yinliao.getDescription() “.Mocha”;
}
public override function cost() : Number {
return yinliao.cost() 0.20;
}
}
}
//第五個as文件 是另一個調料的子類Soy豆沫跟上一個類似
package com.dp.decorator {
import com.dp.decorator.Beverage;
import com.dp.decorator.CondimentDecorator;
/**
* @author tkj
*/
public class Soy extends CondimentDecorator {
publicvar yinliao : Beverage;
public function Soy(yinliao1 : Beverage) {
this.yinliao = yinliao1;

}
public override functiongetDescription() : String {
return yinliao.getDescription() “.Soy “;
}
public override function cost() : Number {
return yinliao.cost() 0.3;
}
}
}
//第六個類,就是使用上述模式了,介紹看代碼內部的注解。
package {
import flash.display.Sprite;
import com.dp.decorator.*;
/**
* @author tkj
*/
public class Dinggou extends Sprite {
public function Dinggou() {
//點一種飲料,注意類型Beverage,這個是在上面所有類中的通行證.一開始沒有注意在這里摔了
var yinliao1 : Beverage = new Espresso();
//加點摩卡
yinliao1 = new Mocha(yinliao1);
//再加點摩卡
yinliao1 = new Mocha(yinliao1);
//加點豆沫
yinliao1 = new Soy(yinliao1);
//再加點摩卡(不會還不夠吧?要不夠還可以再加哦?。?br /> yinliao1 = new Mocha(yinliao1);
//夠了,結帳。
trace(yinliao1.getDescription() “$” yinliao1.cost());
}
}
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产在线精品自拍| 日韩经典一区二区三区| 在线播放国产一区中文字幕剧情欧美| 欧美黑人狂野猛交老妇| 日韩午夜在线视频| 午夜精品久久久99热福利| 国产精品草莓在线免费观看| 国产一级揄自揄精品视频| 日韩欧美在线播放| 亚洲三级 欧美三级| 亚洲国产精品推荐| 亚洲欧美日韩中文视频| 亚洲欧美制服丝袜| 亚洲第一二三四五区| 中文字幕在线看视频国产欧美| 亚洲国产精品99| 成人国产在线激情| 97av在线视频免费播放| 亚洲第一av网| 久久青草精品视频免费观看| 性夜试看影院91社区| 欧美日韩在线视频一区二区| 亚洲电影中文字幕| 91chinesevideo永久地址| 亚洲白拍色综合图区| 成人av.网址在线网站| 久久久人成影片一区二区三区观看| 亚洲成人av资源网| 日韩免费看的电影电视剧大全| 欧美裸体xxxx| 88xx成人精品| 亚洲一区二区中文| 亚洲精品永久免费精品| 亚洲一品av免费观看| 久久久噜噜噜久久| 高潮白浆女日韩av免费看| 91免费版网站入口| 国外成人在线直播| 欧美第一淫aaasss性| 国产精品私拍pans大尺度在线| 欧美精品一本久久男人的天堂| 丝袜一区二区三区| 欧美在线性视频| 国产精品91视频| 538国产精品视频一区二区| 色婷婷久久av| 国产成人精品午夜| 777午夜精品福利在线观看| 成人欧美一区二区三区黑人孕妇| 国产精品久久久久久久久粉嫩av| 日韩国产高清污视频在线观看| 日韩美女毛茸茸| 久久久免费精品视频| 国产又爽又黄的激情精品视频| 69久久夜色精品国产7777| 大胆人体色综合| 国产精品大陆在线观看| 欧美夫妻性视频| 欧美黑人国产人伦爽爽爽| 精品亚洲一区二区三区在线播放| 亚洲女人初尝黑人巨大| 欧美成人精品xxx| 日本免费一区二区三区视频观看| 久久视频中文字幕| 日本三级韩国三级久久| 国产精品免费久久久久久| 国产乱人伦真实精品视频| 91免费综合在线| 欧美日韩国产精品一区二区三区四区| 亚洲91av视频| 热草久综合在线| 国产日本欧美在线观看| 国产精品视频网站| 精品毛片网大全| 日韩大片在线观看视频| 久色乳综合思思在线视频| 黑人巨大精品欧美一区免费视频| 中文字幕一区日韩电影| 国产精品视频男人的天堂| 这里只有精品视频在线| 久久久国产91| 91丝袜美腿美女视频网站| 欧美午夜精品久久久久久人妖| 97在线视频免费观看| 在线观看中文字幕亚洲| 久久久久久久久久久免费精品| 亚洲深夜福利视频| 精品国产一区av| 亚洲大胆人体在线| 久久精品国产亚洲| 日韩在线中文字| 久久天天躁狠狠躁夜夜爽蜜月| 成人午夜两性视频| 色哟哟入口国产精品| 午夜精品久久久久久99热软件| 亚洲精品www久久久久久广东| 在线播放国产一区中文字幕剧情欧美| 欧美日韩一区二区免费视频| 色与欲影视天天看综合网| 日韩av在线不卡| 国产精品久久久久久久久久尿| 高清日韩电视剧大全免费播放在线观看| 欧美伦理91i| 国产视频在线观看一区二区| 庆余年2免费日韩剧观看大牛| 亚洲图片欧美午夜| 国产精品午夜一区二区欲梦| 欧美国产日韩免费| 亚洲毛片在线观看.| 欧美黄色小视频| 欧美成人黄色小视频| 欧美日韩国内自拍| 欧美日韩亚洲精品一区二区三区| 久久男人av资源网站| 国产a∨精品一区二区三区不卡| 欧美成人在线网站| 久久综合伊人77777| 中文字幕免费精品一区| 日日骚久久av| 成人a视频在线观看| 国产精品私拍pans大尺度在线| 国产精品高清网站| 在线电影中文日韩| 麻豆国产精品va在线观看不卡| 日韩高清av一区二区三区| 日本一区二区三区在线播放| 色婷婷综合久久久久中文字幕1| 精品视频在线播放免| 日韩av一区在线观看| 中文字幕在线成人| 亚洲免费一级电影| 国产精品尤物福利片在线观看| 欧美日韩性生活视频| 亚洲国产成人精品一区二区| 日韩av影院在线观看| 色诱女教师一区二区三区| 国产欧美日韩精品在线观看| 青草成人免费视频| 亚洲一区二区免费在线| 日韩一级裸体免费视频| 成人网页在线免费观看| 国产欧美久久久久久| 久久久综合免费视频| 久热99视频在线观看| 亚洲国产另类 国产精品国产免费| 6080yy精品一区二区三区| 成人在线免费观看视视频| 亚洲欧美日韩一区在线| 亲子乱一区二区三区电影| 69久久夜色精品国产69| 国产精品爽爽爽爽爽爽在线观看| 国产激情视频一区| 91久久国产精品91久久性色| 17婷婷久久www| 国产视频久久久久| 久久久噜噜噜久久中文字免| 亚洲色图五月天| 国产精品视频一区二区高潮| 91免费高清视频| 78m国产成人精品视频| 国产一区二区视频在线观看| 精品国产一区二区三区久久| www.99久久热国产日韩欧美.com| 欧美大成色www永久网站婷|