国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

java結構性模式之變壓器模式介紹(四)

瀏覽:9日期:2024-06-28 10:57:15
內容: 關于模式實現的討論本模式在實現時有以下這些值得注意的地方: 第一、目標接口可以省略。此時,目標接口和源接口實際上是相同的。 由于源是一個接口,而變壓器類是一個類(或抽象類),因此這種做法看似平庸而并不平庸, 它可以使客戶端不必實現不需要的方法。這一點已經在WindowAdapter的例子里做了詳盡的分析。 第二、變壓器類可以是抽象類。這已經在WindowAdapter的例子里看到了。實際上,WindowAdapter的例子過于簡單。 實際的情形里,你可能想給出一些實方法。 第三、帶參數的變壓器模式。使用這種辦法,變壓器類就不必,有時可能不能是源類的子類。 變壓器類根據參數返還一個合適的實例給客戶端。 問答題第1題、請做一個小貓(kittie)的實類,并實現miao(),catchRat(),run(),sleep()等方法。 再做一個小狗(doggie)的接口,要求有wao(),fetchBall(),run(),sleep()等方法。 現在你的女朋友想要一只小狗,可是你只找到的一只小貓。請用變壓器模式把小貓“適配成小狗, 讓你的女朋友滿意。(提示:量力而為。) 第2題、請指出第一題的解答所使用的是那一種形式的變壓器模式。 第3題、筆者在許多場合給各種不同水準的專業人士作過各種編程模式的介紹,發現參加OOP開發工作的不同時間長短的人, 對不同的模式理解接受的速度有所不同。唯獨在講過這個男朋友與小狗小貓的例子后,大家對變壓器模式的理解都很準確。 讓筆者百思不得其解。你知道這是怎樣回事嗎? 第4題、請講一講使用實例形式的變壓器模式和使用類形式的變壓器模式在第一題的解決上有何影響。 問答題答案第1題、根據提示,我們可以量力而為。因此,我們將把miao()“適配成wao(),catchRat()“適配成fetchBall(), run(),sleep()不變。源代碼如下: IMG http://www.yesky.com/20011225/jt1225-1-kittie2doggie.gif[/IMG]package com.javapatterns.adapter.kittie2doggie;public interface Doggie{ void wao(); void fetchBall(); void run(); void sleep(); void setName(String name); String getName();}代碼清單11. SwingUI類的源代碼。紅色的代碼就是使用WindowAdapter的無名內部類。 package com.javapatterns.adapter.kittie2doggie;public class Kittie { public void miao(){} public void catchRat() { } public void run() { } public void sleep() { } public String getName(){ return name; } public void setName(String name){ this.name = name; }}代碼清單12. SwingUI類的源代碼。紅色的代碼就是使用WindowAdapter的無名內部類。 package com.javapatterns.adapter.kittie2doggie;public class Boyfriend extends Kittie implements Doggie{ public void wao() { this.miao(); } public void fetchBall() { this.catchRat(); } public void run() { super.run(); } public void sleep() { super.sleep(); } public String getName() { return super.getName(); } public void setName(String name) { super.setName(name); }}代碼清單13. SwingUI類的源代碼。紅色的代碼就是使用WindowAdapter的無名內部類。 怎么,她不滿意呀?那也有辦法:把wao(),fatchBall()當作新的方法,在變壓器類中實現。由于你扮演變壓器角色, 當她調用wao(),fatchBall()方法是,你就叫一聲,或把球撿回來就可以了。 你不滿意呀?那就再去找一只真正的小狗吧。變壓器模式的威力就到此為止了。 第2題、這里使用的是類形式的變壓器模式。 第3題、我的一個學生告訴我,理解這個問題的關鍵,即男朋友必須裝小狗。 第4題、使用類形式的結果是,她一旦想要另一個寵物,她就得換一個男朋友。 使用實例形式的變壓器模式的結果是,她如果想要另一個寵物,原來的男朋友就得身兼幾種身份。 from-yesky Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
主站蜘蛛池模板: 点击进入不卡毛片免费观看 | 日本在线亚州精品视频在线 | 无国产精品白浆是免费 | 欧美日本综合一区二区三区 | 一级黄色α片 | 国产在线成人精品 | 5x性区m免费毛片视频看看 | 中文字幕亚洲综合久久男男 | 天堂精品高清1区2区3区 | 亚洲成a人片在线播放 | 亚洲社区在线 | 国产成人综合日韩精品无 | 成人免费夜片在线观看 | 国产成人亚洲精品老王 | 国产亚洲一欧美一区二区三区 | 奇米888四色在线精品 | 精品久久久久久国产免费了 | 欧美另类videosbestsex高清 | 九九亚洲视频 | 久久毛片免费看一区二区三区 | 国产欧美一区二区日本加勒比 | 久久精品国产99国产精品 | 精品香蕉99久久久久网站 | 欧美无极品 | 男女晚上爱爱的视频在线观看 | 成人毛片在线观看 | 国产成人在线观看免费网站 | aa级毛片毛片免费观看久 | 99视频精品全国在线观看 | 欧美综合自拍亚洲综合 | 拍拍拍又黄又爽无挡视频免费 | 国产在线观看一区二区三区四区 | 亚洲视频手机在线观看 | 亚洲精品综合一区二区三区在线 | 国产在线观看免费人成小说 | 国产精品高清在线观看93 | 日韩在线一区二区三区视频 | 在线视频一区二区日韩国产 | 日韩在线观看视频网站 | 国产成人精品男人的天堂网站 | 精品一区二区三区免费毛片爱 |