锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲国产小视频精品久久久三级 ,国产精品亚洲аv无码播放,亚洲福利视频网站http://www.tkk7.com/ocean07000814/category/37327.html鍏卞悓鎺㈣STRUTS#HIBERNATE#SPRING#EJB絳夋妧鏈?/description>zh-cnWed, 21 Jan 2009 10:29:43 GMTWed, 21 Jan 2009 10:29:43 GMT60鎶借薄宸ュ巶妯″紡-涓?宸ュ巶鏂規硶妯″紡鍖哄埆http://www.tkk7.com/ocean07000814/articles/252087.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:34:00 GMThttp://www.tkk7.com/ocean07000814/articles/252087.htmlhttp://www.tkk7.com/ocean07000814/comments/252087.htmlhttp://www.tkk7.com/ocean07000814/articles/252087.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252087.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252087.html
鎶借薄宸ュ巶UML鍥撅細


錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br /> 瀵逛簬java鏉ヨ錛屼綘鑳借鍒扮殑澶ч儴鍒嗘娊璞″伐鍘傛ā寮忛兘鏄繖鏍風殑錛?
瀹冪殑閲岄潰鏄竴鍫嗗伐鍘傛柟娉曪紝姣忎釜宸ュ巶鏂規硶榪斿洖鏌愮綾誨瀷鐨勫璞°?

姣斿璇村伐鍘傚彲浠ョ敓浜ч紶鏍囧拰閿洏銆傞偅涔堟娊璞″伐鍘傜殑瀹炵幇綾伙紙瀹冪殑鏌愪釜鍏蜂綋瀛愮被錛夌殑瀵硅薄閮藉彲浠ョ敓浜ч紶鏍囧拰閿洏錛屼絾鍙兘宸ュ巶A鐢熶駭鐨勬槸緗楁妧鐨勯敭鐩樺拰榧犳爣錛屽伐鍘侭鏄井杞殑銆?

榪欐牱A鍜孊灝辨槸宸ュ巶錛屽搴斾簬鎶借薄宸ュ巶錛?
姣忎釜宸ュ巶鐢熶駭鐨勯紶鏍囧拰閿洏灝辨槸浜у搧錛屽搴斾簬宸ュ巶鏂規硶錛?

鐢ㄤ簡宸ュ巶鏂規硶妯″紡錛屼綘鏇挎崲鐢熸垚閿洏鐨勫伐鍘傛柟娉曪紝灝卞彲浠ユ妸閿洏浠庣綏鎶鎹㈠埌寰蔣銆備絾鏄敤浜嗘娊璞″伐鍘傛ā寮忥紝浣犲彧瑕佹崲瀹跺伐鍘傦紝灝卞彲浠ュ悓鏃舵浛鎹㈤紶鏍囧拰閿洏涓濂椼傚鏋滀綘瑕佺殑浜у搧鏈夊嚑鍗佷釜錛屽綋鐒剁敤鎶借薄宸ュ巶妯″紡涓嬈℃浛鎹㈠叏閮ㄦ渶鏂逛究錛堣繖涓伐鍘備細鏇夸綘鐢ㄧ浉搴旂殑宸ュ巶鏂規硶錛?

鎵浠ヨ鎶借薄宸ュ巶灝卞儚宸ュ巶錛岃屽伐鍘傛柟娉曞垯鍍忔槸宸ュ巶鐨勪竴縐嶄駭鍝佺敓浜х嚎
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br /> “鎶借薄宸ュ巶”妯″紡渚濊禆浜?#8220;宸ュ巶鏂規硶”妯″紡鐨勩傚洜姝わ紝鎶借薄宸ュ巶寮鴻皟鐨勬槸鍓嶉潰鐨勫姩璇?#8220;鎶借薄”錛屼篃灝辨槸璇達紝浣犲皢宸ュ巶鏂規硶妯″紡涓殑宸ュ巶鏂規硶鎶借薄鍑烘潵鐨勯偅涓?鍔ㄤ綔鎴栬璁?灝辨槸“鎶借薄宸ョ▼”妯″紡浜嗐?br /> 錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br /> factory method閽堝鐨勬槸涓涓駭鍝佺瓑綰х粨鏋?nbsp; 
abstract factory鏄潰鍚戝涓駭鍝佺瓑綰х粨鏋勭殑
錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br /> 宸ュ巶鏂規硶妯″紡錛氫竴涓娊璞′駭鍝佺被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋浜у搧綾匯?nbsp;
                              涓涓娊璞″伐鍘傜被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋宸ュ巶綾匯?nbsp;
                              姣忎釜鍏蜂綋宸ュ巶綾誨彧鑳藉垱寤轟竴涓叿浣撲駭鍝佺被鐨勫疄渚嬨?nbsp;
鎶借薄宸ュ巶妯″紡錛氬涓娊璞′駭鍝佺被錛屾瘡涓娊璞′駭鍝佺被鍙互媧劇敓鍑哄涓叿浣撲駭鍝佺被銆?nbsp;
                              涓涓娊璞″伐鍘傜被錛屽彲浠ユ淳鐢熷嚭澶氫釜鍏蜂綋宸ュ巶綾匯?nbsp;
                              姣忎釜鍏蜂綋宸ュ巶綾誨彲浠ュ垱寤哄涓叿浣撲駭鍝佺被鐨勫疄渚嬨?nbsp;
  
鍖哄埆錛氬伐鍘傛柟娉曟ā寮忓彧鏈変竴涓娊璞′駭鍝佺被錛岃屾娊璞″伐鍘傛ā寮忔湁澶氫釜銆?br />       宸ュ巶鏂規硶妯″紡鐨勫叿浣撳伐鍘傜被鍙兘鍒涘緩涓涓叿浣撲駭鍝佺被鐨勫疄渚嬶紝鑰屾娊璞″伐鍘傛ā寮忓彲浠ュ垱寤哄涓?br /> 錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛嶏紞錛?br />    1.濡傛灉涓涓悗鑺卞洯鍙钄彍綾?閭d箞灝辯敤綆鍗曞伐鍘傚氨鍙互浜?
   2.濡傛灉鍚庤姳鍥敩鑿滃搧縐嶇箒澶?寰楃敤宸ュ巶鏂規硶鎵嶅彲浠?鎶婂叡鏈夌殑涓滆タ鎶借薄鍑烘潵.
   3.濡傛灉瑕佹墿澶у悗鑺卞洯鐨勮妯?姣斿涓涓湪鍖楁柟,涓涓湪鍗楁柟,榪欐牱宸ュ巶鏂規硶灝辨棤娉曞疄鐜頒簡,灝卞簲褰撶敤鎶借薄宸ュ巶,鎶婂悇縐嶅悇鏍風殑妞嶇墿,鍙堢粍鎴愪竴涓悗鑺卞洯.
鎵浠ユ垜涓漢璁や負,綆鍗曞伐鍘傛槸涓涓伐鍘傚彧鐢熶駭涓綾葷殑浜у搧,闈㈠鐨勬槸鍏蜂綋鐨勭被,宸ュ巶鏂規硶鏄彲浠ョ敓浜т笉鍚岀殑浜у搧,鎶婂叕鍏辯殑鏂規硶鎶借薄鍑烘潵,鐒跺悗榪涜鍒涘緩鍚勭鍚勬牱鐨勪駭鍝?鎶借薄宸ュ巶鎶婂嚑縐嶄駭鍝佸垝鍑哄叡鍚岀殑涓滆タ,鎶婄浉浜掍緷璧栫殑瀵硅薄鎶借薄鍑烘潵,鍙瀹炵幇榪欎簺鎺ュ彛灝卞彲浠ュ緱鍒頒笉鍚岀殑浜у搧.
鍏蜂綋渚嬪瓙:
1.綆鍗曞伐鍘?

using System; 
public interface ICar 

     
void run(); 


public class BMWCar : ICar 

     
public void run() 
     { 
         Console.WriteLine(
"BMWCar run"); 
     } 


public class BenzCar : ICar 

     
public void run() 
     { 
         Console.WriteLine(
"BenzCar run"); 
     } 


public class Driver 

     
public static ICar DriverCar(string carType) 
     { 
         
switch (carType) 
         { 
             
case "BMWCar"return new BMWCar(); 
             
case "BenzCar"return new BenzCar(); 
             
defaultthrow new Exception(); 
        } 
     } 


public class Client 

     
public static void Main() 
     { 
         ICar myCar 
= Driver.DriverCar("BenzCar"); 
         myCar.run(); 
         Console.Read(); 
     } 
}

蹇冨緱:浼樼偣鏄彧瑕佸疄鐜板叡鏈夌殑鎺ュ彛灝卞彲浠ュ疄鐜頒笉鍚岃濺璺戠殑鏂瑰紡.浣嗙己鐐瑰氨鏄鍒ゆ柇鍝竴縐嶈濺,閫犳垚瑕佷慨鏀笵river 綾?br /> 2.宸ュ巶鏂規硶:
using System; 
public interface ICar 

     
void run(); 


public class BMWCar : ICar 

     
public void run() 
     { 
         Console.WriteLine(
"BMWCar run"); 
     } 


public class BenzCar : ICar 

     
public void run() 
     { 
         Console.WriteLine(
"BenzCar run"); 
     } 

public abstract class Driver 

     
public abstract ICar DriverCar(); 


public class BMWDriver : Driver 

     
public override ICar   DriverCar() 
     { 
         
return new BMWCar(); 
     } 


public class BenzDriver : Driver 

     
public   override ICar DriverCar() 
     { 
         
return new BenzCar(); 
     } 


class Client 

     
public static void Main() 
     { 
         Driver myDriver 
= new BenzDriver(); 
         ICar myCar 
= myDriver.DriverCar(); 
         myCar.run(); 
         Console.Read(); 
     } 
}

蹇冨緱:浼樼偣鏄鍚堜簡寮鏀?灝侀棴鍘熷垯(OCP),浠庢暣浣撲笂榪樼湅涓嶅嚭浠涔堢己鐐?

3.鎶借薄宸ュ巶:

using System; 

public interface IBusinessCar 

     
void run(); 


public interface ISportCar 

void run(); 


public class BMWBusinessCar : IBusinessCar 

     
public void run() 
     { 
         Console.WriteLine(
"BMWCar run"); 
     }

}

public class BenzBusinessCar : IBusinessCar 

     
public void run() 
     { 
         Console.WriteLine(
"BenzBusinessCar run"); 
     } 


public class BMWSportCar:ISportCar 

public void run() 

Console.WriteLine(
"BMWSportCar run"); 



public class BenzSportCar:ISportCar 

public void run() 
{

Console.WriteLine(
"BenzSportCar run"); 



public interface IDriver 

IBusinessCar BusinessCarDriver(); 
ISportCar SportCarDriver(); 


public class BMWDriver:IDriver 

public IBusinessCar BusinessCarDriver() 

return new BMWBusinessCar(); 

public ISportCar SportCarDriver() 

return new BMWSportCar(); 



public class BenzDriver:IDriver 

public IBusinessCar BusinessCarDriver() 

return new BenzBusinessCar(); 


public ISportCar SportCarDriver() 

return new BenzSportCar(); 

}


class Client 

     
public static void Main() 
     { 
         IDriver myDriver 
=new BenzDriver(); 
         ISportCar myCar 
= myDriver.SportCarDriver(); 
         myCar.run(); 
         Console.Read(); 
     }

}


蹇冨緱:鎶借薄鏂規硶浼間箮杈懼埌浜嗗畬緹庡鐣?鎶婂紑濂旈┌鐨勫徃鏈哄拰寮瀹濋┈鐨勫徃鏈虹殑鍏叡鏂規硶鎶借薄鍑烘潵,騫跺涓嶅悓鐨勫徃鏈哄垱寤轟笉鍚岀殑綾?鍒版椂鍊欎笉綆℃槸寮浠涔堣濺鐨勫徃鏈洪殢浣犳坊鍔?瀹冧滑鍞竴鐨勫叡鍚岀偣閮芥槸寮杞?

]]>
鎶借薄宸ュ巶妯″紡http://www.tkk7.com/ocean07000814/articles/252086.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:33:00 GMThttp://www.tkk7.com/ocean07000814/articles/252086.htmlhttp://www.tkk7.com/ocean07000814/comments/252086.htmlhttp://www.tkk7.com/ocean07000814/articles/252086.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252086.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252086.html璁捐妯″紡-蹇綆瑙?銆愭娊璞″伐鍘傛ā寮忋?/strong>

銆?strong>鎶借薄宸ュ巶妯″紡搴旂敤鍦烘櫙涓句緥
銆?br /> 鍐欏埌鎶借薄宸ュ巶妯″紡浜嗭紝鎴戞繁鐭?#8220;鎶借薄宸ュ巶妯″紡”鍗氭枃浼氬甫鏉ヤ竴鐐圭偣楂樻疆錛屽洜涓虹▼搴忓憳瀵瑰伐鍘傛ā寮忎腑鐨?#8220;鎶借薄宸ュ巶”閮芥槸姣旇緝鎰熷啋鐨勶紝鑰屼笖鍏蟲敞涔熷緢澶氾紝鎴戝氨灝介噺鐢ㄦ垜鎵鑳界悊瑙g殑閭d箞鐐圭▼搴︽潵緇欏ぇ瀹朵粙緇嶈繖涓ā寮忥紝濡傛灉鏈夋洿濂界殑姣斿柣榪樿緗戝弸鎸囨錛屽厛鎰熻阿浜嗭紒
鍦ㄨ璁℃ā寮?蹇綆瑙?銆愬伐鍘傛柟娉曟ā寮忋戝崥鏂囷紝鍦板潃鏄細
http://www.tkk7.com/ghyghost/archive/2008/11/11/239909.html
浠嬬粛浜嗗伐鍘傛柟娉曠殑浣跨敤錛屼粠閭d釜紼嬪簭涓彲浠ョ湅鍒幫紝濂ヨ開audi杞︽槸浠巃udi_car_factory_imple宸ュ巶涓垱寤哄嚭鏉ョ殑錛岃屽ぇ浼?W杞︽槸浠? threeW_car_factory_imple宸ュ巶涓垱寤哄嚭鏉ョ殑錛岄偅涔堝鏋滆繖2瀹舵苯杞︾敓浜уぇ鍘傜敱鎬婚儴鍦ㄥ寳浜競錛岀幇鍦ㄥ彂灞曞埌涓婃搗錛屾繁鍦崇瓑鍩庡競鍒涘緩鐢熸皵姹? 杞︾殑鍒嗗巶錛岃鎬庝箞鍔烇紵鏄笉鏄緱灝嗗師鏉ョ殑濂ヨ開姹借濺宸ュ巶綾伙細
public class audi_car_factory_imple implements Icar_factory {

    
public Icar_interface create_car() {

        car_audi_imple car_audi_imple_ref 
= new car_audi_imple();
        car_audi_imple_ref.setName(
"濂ヨ開A6");
        car_audi_imple_ref.setSpeed(
300);

        
return car_audi_imple_ref;
    }
}


鏀規垚綾諱技濡備笅鐨勬ā鏍鳳細

public class audi_car_factory_imple implements Icar_factory {

    
public Icar_interface create_car(String area_car) {

if (area_car.equals("鍖椾含")){鍒涘緩涓涓寳浜殑濂ヨ開姹借濺}

if (area_car.equals("涓婃搗")){鍒涘緩涓涓笂嫻風殑濂ヨ開姹借濺}

if (area_car.equals("娣卞湷")){鍒涘緩涓涓繁鍦崇殑濂ヨ開姹借濺}

        
return car_audi_imple_ref;
    }
}


閭d箞鍙戠幇涓涓棶棰橈紝涓嶅悓鍦板煙鐨勬苯杞﹀嵈鍦ㄤ竴涓伐鍘備腑鍑虹幇錛岃繖鏄笉鍚堜箮甯哥悊鐨勶紝鍥犱負鍖椾含濂ヨ開鍦ㄥ寳浜垎鍘傚垱寤猴紝涓婃搗濂ヨ開鍦ㄤ笂嫻峰垎鍘傚垱寤猴紝榪欐牱鎵嶅銆?br />
鎵浠ュ鏋滈亣鍒板垎“澶х郴”鏉ュ垱寤哄璞$殑鏃跺欙紝鎶借薄宸ュ巶鏂規硶鏄偗瀹氳浣跨敤鐨勬椂鍊欎簡銆傝繖閲岀殑澶х郴鎸囩殑灝辨槸浠庡湴鍩熶笂鏉ュ垎銆?br />
榪欎釜渚嬪瓙灝卞簲璇ヤ互“鐢ㄦ娊璞″伐鍘傛潵瀹氫箟鍏蜂綋宸ュ巶鐨勬娊璞★紝鑰岀敱鍏蜂綋宸ュ巶鏉ュ垱寤哄璞?#8221;

姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾瘡涓湴鍥懼閮芥湁閫犺濺鐨勫伐鍘傦紝姣忎釜閫犺濺鐨勫伐鍘傞兘鍥犱負鏈夐犺濺鐨勬。嬈′笉鍚岃屽垝鍒嗕負楂樼駭杞﹀巶錛屼綆綰ц濺鍘傦紝閭d箞榪欐牱鐨勫満鏅鏄簲 鐢ㄦ娊璞″伐鍘傜殑濂芥椂鏈猴紝鍐嶆潵鐞嗚В涓涓嬭繖鍙ヨ瘽“鐢ㄦ娊璞″伐鍘傛潵瀹氫箟鍏蜂綋宸ュ巶鐨勬娊璞★紝鑰岀敱鍏蜂綋宸ュ巶鏉ュ垱寤哄璞?#8221;錛岀敤鎶借薄閫犺濺宸ュ巶鏉ュ畾涔夊叿浣撻犺濺宸ュ巶鐨勬娊璞★紝鑰岀敱鍏? 浣撶殑閫犺濺宸ュ巶鏉ュ垱寤烘苯杞︼紝榪欏氨鏄娊璞″伐鍘備笌宸ュ巶鏂規硶鐨勪笉鍚岋紝宸ュ巶鏂規硶涓璞$殑鍒涘緩鏄敱宸ュ巶鏂規硶鏉ョ‘瀹氱殑錛屽垱寤虹殑瀵硅薄閮芥槸涓嶅垎綾誨茍涓斿疄鐜頒竴涓帴鍙g殑錛岃屾娊璞? 宸ュ巶灝辨槸鍦ㄥ伐鍘傛柟娉曠殑鍩虹涓婂鍒涘緩杞︾殑瀵硅薄鐨勮涓鴻繘琛屽垎綾伙紝姣斿鍖椾含杞﹀巶錛屼笂嫻瘋濺鍘傜瓑銆?br />
銆?strong>鎶借薄宸ュ巶妯″紡瑙i噴銆?br /> 綾誨瀷錛氬垱寤烘ā寮?br /> 銆銆鎻愪緵涓涓垱寤轟竴緋誨垪鐩稿叧鎴栫浉浜掍緷璧栧璞$殑鎺ュ彛錛岃屾棤闇鎸囧畾浠栦滑鍏蜂綋鐨勭被銆?br />
銆?strong>鎶借薄宸ュ巶妯″紡UML鍥?/strong>銆?br />

銆?strong>鎶借薄宸ュ巶妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩鎶借薄宸ュ巶鎺ュ彛錛?/p>

package car_factory_interface;

import car_interface.Icar_interface;

public interface Icar_factory {

    
public Icar_interface create_threeW_car();

    
public Icar_interface create_audi_car();

}


鏂板緩鎶借薄宸ュ巶鎺ュ彛鐨勯珮綰ц濺adv宸ュ巶瀹炵幇綾伙細

package car_factory_imple;

import car_factory_interface.Icar_factory;
import car_imple.car_3w_imple_adv;
import car_imple.car_audi_imple_adv;
import car_interface.Icar_interface;

public class car_factory_adv implements Icar_factory {

    
public Icar_interface create_audi_car() {

        car_audi_imple_adv car_audi_imple_adv 
= new car_audi_imple_adv();
        car_audi_imple_adv.setName(
"濂ヨ開A6");
        car_audi_imple_adv.setSpeed(
300);

        
return car_audi_imple_adv;
    }

    
public Icar_interface create_threeW_car() {
        
        car_3w_imple_adv car_3w_imple_adv_ref 
= new car_3w_imple_adv();
        car_3w_imple_adv_ref.setName(
"澶т紬A6");
        car_3w_imple_adv_ref.setSpeed(
300);

        
return car_3w_imple_adv_ref;
    }

}

 

銆銆鏂板緩鎶借薄宸ュ巶鎺ュ彛鐨勬櫘閫氳濺low宸ュ巶瀹炵幇綾伙細

package car_factory_imple;

import car_factory_interface.Icar_factory;
import car_imple.car_3w_imple_low;
import car_imple.car_audi_imple_low;
import car_interface.Icar_interface;

public class car_factory_low implements Icar_factory {

    
public Icar_interface create_audi_car() {

        car_audi_imple_low car_audi_imple_low_ref 
= new car_audi_imple_low();
        car_audi_imple_low_ref.setName(
"濂ヨ開A6");
        car_audi_imple_low_ref.setSpeed(
300);

        
return car_audi_imple_low_ref;
    }

    
public Icar_interface create_threeW_car() {
        
        car_3w_imple_low car_3w_imple_low_ref 
= new car_3w_imple_low();
        car_3w_imple_low_ref.setName(
"澶т紬A6");
        car_3w_imple_low_ref.setSpeed(
300);

        
return car_3w_imple_low_ref;
    }

}


涓婇潰宸茬粡鏈夋娊璞″伐鍘傚拰鍏蜂綋宸ュ巶鐨勫疄鐜扮被浜嗐?br />
鏂板緩姹借濺鎺ュ彛錛?/p>

package car_interface;

public interface Icar_interface {

    
public void start();

    
public void stop();

}


鏂板緩姹借濺鐖剁被錛?/p>

package car_imple;

import car_interface.Icar_interface;

public class base_car_imple implements Icar_interface {

    
private int speed;

    
private String name;

    
public int getSpeed() {
        
return speed;
    }

    
public void setSpeed(int speed) {
        
this.speed = speed;
    }

    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }

    
public void start() {
        
// TODO Auto-generated method stub

    }

    
public void stop() {
        
// TODO Auto-generated method stub

    }

}


鏂板緩澶т紬楂樼駭杞︼細

package car_imple;

import car_interface.Icar_interface;

public class car_3w_imple_adv extends base_car_imple {

    
public void start() {
        System.out.println(
"瀵屽崕鐗堬細" + this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
"瀵屽崕鐗堬細" + this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩澶т紬鏅氳濺錛?/p>

package car_imple;

import car_interface.Icar_interface;

public class car_3w_imple_low extends base_car_imple {

    
public void start() {
        System.out.println(
"鏅氱増錛?/span>" + this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
"鏅氱増錛?/span>" + this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩濂ヨ開楂樼駭杞︼細

package car_imple;

import car_interface.Icar_interface;

public class car_audi_imple_adv extends base_car_imple {

    
public void start() {
        System.out.println(
"瀵屽崕鐗堬細" + this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
"瀵屽崕鐗堬細" + this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩濂ヨ開鏅氳濺錛?/p>

package car_imple;

import car_interface.Icar_interface;

public class car_audi_imple_low extends base_car_imple {

    
public void start() {
        System.out.println(
"鏅氱増錛?/span>" + this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
"鏅氱増錛?/span>" + this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩瀹㈡埛绔繍琛岀被錛?/p>

package run_main;

import car_factory_imple.car_factory_adv;
import car_factory_interface.Icar_factory;
import car_interface.Icar_interface;

public class run_main {

    
public static void main(String[] args) {

        Icar_factory Icar_factory_ref 
= new car_factory_adv();

        Icar_interface Icar_interface_ref 
= Icar_factory_ref
                .create_threeW_car();
        Icar_interface_ref.start();
        Icar_interface_ref.stop();

        
    }
}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

瀵屽崕鐗堬細澶т紬A6 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細300
瀵屽崕鐗堬細澶т紬A6 杞︿互涓撳埄鎶鏈仠杞︿簡


鎶撲竴綃囬槑瀹忕殑灝忔枃瀛楋細

涓寮濮嬪彧鍦ㄥ悗鑺卞洯涓钄彍綾葷殑鏃跺欏彲浠ョ敤綆鍗曞伐鍘傛ā寮忥紝鐢卞伐鍘傝礋璐g敓鎴愬叿浣撶殑钄彍綾伙紝

浣嗘槸濡傛灉鍚庤姳鍥寮曡繘姘存灉綾葷殑鏃跺欑畝鍗曟ā寮忓氨琛屼笉閫氫簡錛屽洜姝ら渶瑕佷嬌鐢ㄥ伐鍘傛柟娉曟ā寮忥紝灝嗕駭鍝佺被鏃忓垎寮銆?br />
浣嗘槸濡傛灉鍚庤姳鍥殑瑙勬ā緇х畫鎵╁ぇ鍒板湴鍩熻寖鍥寸殑鍒嗗壊鏃訛紝姣斿璇翠竴涓湪鍖椾含錛屼竴涓湪涓婃搗鐨勬椂鍊欙紝宸ュ巶鏂規硶妯″紡灝變笉澶熶簡錛屽洜涓哄涓や釜鍚庤姳鍥潵璇達紝姣忎釜鍚庤姳鍥殑妞嶇墿鏄琚鍦ㄤ竴璧風殑錛屽茍涓斾袱涓悗鑺卞洯鐢ㄥ伐鍘傛柟娉曟ā寮忔槸鏃犳硶浣撶幇鍏跺尯鍒殑銆?/span>

浠庣▼搴忎腑鍙互鐪嬪埌錛屽伐鍘傛槸鎶借薄鐨勶紝宸ュ巶鐨勫疄鐜版槸涓嶆牱鐨勶紝涓嶅悓鐨勫伐鍘傚垱寤哄嚭涓嶅悓姹借濺銆傝屽伐鍘傛柟娉曚粎浠呮槸鐢ㄤ竴涓伐鍘傚幓鍒涘緩寰堝姹借濺銆?br />

]]>
瑙傚療鑰呮ā寮?/title><link>http://www.tkk7.com/ocean07000814/articles/252085.html</link><dc:creator>闈炴床灝忕櫧鑴?/dc:creator><author>闈炴床灝忕櫧鑴?/author><pubDate>Tue, 20 Jan 2009 09:32:00 GMT</pubDate><guid>http://www.tkk7.com/ocean07000814/articles/252085.html</guid><wfw:comment>http://www.tkk7.com/ocean07000814/comments/252085.html</wfw:comment><comments>http://www.tkk7.com/ocean07000814/articles/252085.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ocean07000814/comments/commentRss/252085.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ocean07000814/services/trackbacks/252085.html</trackback:ping><description><![CDATA[<span style="color: #008000;"><span style="color: #000000;"><strong>璁捐妯″紡-蹇綆瑙?銆愯瀵熻呮ā寮忋?/strong><br /> </span></span><br /> 銆?strong>瑙傚療鑰呮ā寮忓簲鐢ㄥ満鏅婦渚?/strong>銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾瘡涓涓濺鎵嬪埌杈劇粓鐐圭殑鏃跺欙紝閮戒細鍦ㄥ叾瀹冭濺鎵嬬殑灞忓箷涓婃樉紺猴細鏌愭煇浜轟互澶氬皯鏃墮棿鍒拌揪緇堢偣鐨勬彁紺猴紝鍏跺疄榪欏氨鏄竴涓吀鍨嬬殑瑙傚療鑰呮ā寮忕殑搴旂敤錛岃瀵熻呮ā寮忓嵆鏄吀鍨嬬殑鍙屽悜涓瀵瑰鐨勫簲鐢ㄥ満鏅笅鐢ㄤ竴鐨勪竴绔潵閫氱煡澶氱殑涓绔?br /> <br /> 銆?strong><strong>瑙傚療鑰?/strong>妯″紡瑙i噴</strong>銆?br /> <span style="color: #ff0000;">綾誨瀷錛氳涓烘ā寮?br /> </span>銆銆瀹氫箟浜嗕竴縐嶄竴瀵瑰鐨勪緷璧栧叧緋伙紝璁╁涓瀵熻呭璞″悓鏃剁洃鍚煇涓涓富棰樺璞°傝繖涓富棰樺璞$殑鐘舵佸彂鐢熸敼鍙樻椂錛屼細閫氱煡鎵鏈夌殑瑙傚療鑰呭璞★紝浣垮畠浠兘澶熻嚜宸辨洿鏂拌嚜宸便?br /> <br /> 銆?strong><strong>瑙傚療鑰?/strong>妯″紡UML鍥?/strong>銆?br /> <img alt="" src="../../images/blogjava_net/ghyghost/35864/o_observer.gif" border="0" /><br /> <br /> 銆?strong><strong>瑙傚療鑰?/strong>妯″紡-JAVA浠g爜瀹炵幇</strong>銆?br /> 鏂板緩鎶借薄鍙戝竷閫氱煡鐖剁被錛? <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> carer_subject;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.ArrayList;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.List;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_observer.carer_observer;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> carer_subject_parent {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> set_state(String state_string);<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String get_state();<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> add_observer(carer_observer carer_observer_ref);<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> sub_observer(carer_observer carer_observer_ref);<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> notityAllCarer();<br /> <br /> }</span></div> <p><br /> 鏂板緩鍙戝竷閫氱煡瀹炵幇綾伙細</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;"><br /> </span><span style="color: #0000ff;">package</span><span style="color: #000000;"> carer_subject;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.ArrayList;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.List;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_observer.carer_observer;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> carer_subject_sub </span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> carer_subject_parent {<br /> <br />     List</span><span style="color: #000000;"><</span><span style="color: #000000;">carer_observer</span><span style="color: #000000;">></span><span style="color: #000000;"> list_observer </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> ArrayList</span><span style="color: #000000;"><</span><span style="color: #000000;">carer_observer</span><span style="color: #000000;">></span><span style="color: #000000;">();<br /> <br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> String state;<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> set_state(String state_string) {<br />         </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.state </span><span style="color: #000000;">=</span><span style="color: #000000;"> state_string;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> String get_state() {<br />         </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> state;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> add_observer(carer_observer carer_observer_ref) {<br />         list_observer.add(carer_observer_ref);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> sub_observer(carer_observer carer_observer_ref) {<br />         list_observer.remove(carer_observer_ref);<br /> <br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> notityAllCarer() {<br />         state </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">"</span><span style="color: #000000;">鍒拌揪緇堢偣</span><span style="color: #000000;">"</span><span style="color: #000000;">;<br />         </span><span style="color: #0000ff;">for</span><span style="color: #000000;"> (</span><span style="color: #0000ff;">int</span><span style="color: #000000;"> i </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #000000;">0</span><span style="color: #000000;">; i </span><span style="color: #000000;"><</span><span style="color: #000000;"> list_observer.size(); i</span><span style="color: #000000;">++</span><span style="color: #000000;">) {<br />             list_observer.get(i).show_info();<br />         }<br /> <br />     }<br /> <br /> }</span></div> <p> </p> <p>銆銆鏂板緩瑙傚療鑰呮帴鍙o細</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> carer_observer;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_subject.carer_subject_parent;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> carer_observer {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> show_info();<br /> <br /> }</span></div> <p><br /> 鏂板緩瑙傚療鑰呭疄鐜扮被錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> carer_observer;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_subject.carer_subject_parent;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> carer_observer_imple </span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> carer_observer {<br /> <br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> carer_subject_parent carer_subject_parent_ref;<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> carer_subject_parent getCarer_subject_parent_ref() {<br />         </span><span style="color: #0000ff;">return</span><span style="color: #000000;"> carer_subject_parent_ref;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> setCarer_subject_parent_ref(<br />             carer_subject_parent carer_subject_parent_ref) {<br />         </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.carer_subject_parent_ref </span><span style="color: #000000;">=</span><span style="color: #000000;"> carer_subject_parent_ref;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> carer_observer_imple(carer_subject_parent carer_subject_parent_ref) {<br />         </span><span style="color: #0000ff;">super</span><span style="color: #000000;">();<br />         </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.carer_subject_parent_ref </span><span style="color: #000000;">=</span><span style="color: #000000;"> carer_subject_parent_ref;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> show_info() {<br />         System.out.println(carer_subject_parent_ref.get_state());<br /> <br />     }<br /> <br /> }</span></div> <p><br /> 鏂板緩瀹㈡埛绔繍琛岀被錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> run_main;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_observer.carer_observer_imple;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_subject.carer_subject_parent;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> carer_subject.carer_subject_sub;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> run_main {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {<br /> <br />         carer_subject_parent carer_subject_parent_ref </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> carer_subject_sub();<br /> <br />         carer_observer_imple carer_observer_imple_ref1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> carer_observer_imple(<br />                 carer_subject_parent_ref);<br />         carer_observer_imple carer_observer_imple_ref2 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> carer_observer_imple(<br />                 carer_subject_parent_ref);<br />         carer_observer_imple carer_observer_imple_ref3 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> carer_observer_imple(<br />                 carer_subject_parent_ref);<br />         carer_observer_imple carer_observer_imple_ref4 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> carer_observer_imple(<br />                 carer_subject_parent_ref);<br /> <br />         carer_subject_parent_ref.add_observer(carer_observer_imple_ref1);<br />         carer_subject_parent_ref.add_observer(carer_observer_imple_ref2);<br />         carer_subject_parent_ref.add_observer(carer_observer_imple_ref3);<br />         carer_subject_parent_ref.add_observer(carer_observer_imple_ref4);<br /> <br />         carer_subject_parent_ref.sub_observer(carer_observer_imple_ref3);<br /> <br />         carer_subject_parent_ref.set_state(</span><span style="color: #000000;">"</span><span style="color: #000000;">鍒拌揪緇堢偣</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br /> <br />         carer_subject_parent_ref.notityAllCarer();<br /> <br />     }<br /> <br /> }</span></div> <p><br /> 紼嬪簭榪愯緇撴灉濡備笅錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;">鍒拌揪緇堢偣<br /> 鍒拌揪緇堢偣<br /> 鍒拌揪緇堢偣</span></div> <br /> 浠ヤ竴瀵瑰鐨勬柟寮忚繘琛屽涓鏂圭姸鎬佺殑鏀瑰彉鑰屽幓閫氱煡澶氭柟錛岃瀵熻呮ā寮忎篃鍙彂甯?璁㈤槄妯″紡錛屼竴鏂硅繘琛屽彂甯冿紝鑰屽鏂硅繘琛岃闃咃紝鍜岀敓媧諱腑鐪嬫姤綰鎬竴鏍鳳紝浣犲枩嬈㈣鍩庡競鏅氭姤錛屽氨浼氬彂緇欎綘銆? <img src ="http://www.tkk7.com/ocean07000814/aggbug/252085.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ocean07000814/" target="_blank">闈炴床灝忕櫧鑴?/a> 2009-01-20 17:32 <a href="http://www.tkk7.com/ocean07000814/articles/252085.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>澶栬妯″紡http://www.tkk7.com/ocean07000814/articles/252083.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:31:00 GMThttp://www.tkk7.com/ocean07000814/articles/252083.htmlhttp://www.tkk7.com/ocean07000814/comments/252083.htmlhttp://www.tkk7.com/ocean07000814/articles/252083.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252083.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252083.html璁捐妯″紡-蹇綆瑙?銆愬瑙傛ā寮忋?/strong>

銆?strong>澶栬妯″紡搴旂敤鍦烘櫙涓句緥
銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屼綘鍙渶瑕佺瓑寰呯殑灝辨槸鍊掕鏃跺埌0鏃朵互鏈蹇殑杞﹂熷啿鍒扮涓鍚嶏紝浣嗘父鎴忚呮牴鏈病鏈夋兂榪囧湪杞﹀啿鍑哄幓涔嬪墠瑕佸仛鍝簺宸ヤ綔錛屾瘮濡傛寕 妗o紝紱誨悎鍣紝娌圭媯嫻嬶紝璋冩暣鏂瑰悜絳夌瓑鐨勫井鎿嶄綔錛屽皢榪欎簺寰搷浣滃皝瑁呰搗鏉ュ彉鎴愪竴涓帴鍙e氨鏄瑙傛ā寮忎簡銆傚湪WEB寮鍙戜腑鐨凪VC鍒嗗眰鏋舵瀯灝辨槸鍏稿瀷鐨勪竴涓瑙傛ā 寮忥紝姣忎竴灞傚皢鎿嶄綔鐨勫叿浣撳唴瀹歸殣钘忚搗鏉ワ紝淇濈暀涓涓帴鍙d緵涓婂眰璋冪敤銆?br />
銆?strong>澶栬妯″紡瑙i噴銆?br /> 綾誨瀷錛氱粨鏋勬ā寮?br /> 銆銆涓哄瓙緋葷粺涓殑涓緇勬帴鍙f彁渚涗竴涓竴鑷寸殑interface鎺ュ彛鐣岄潰銆?br />
銆?strong>澶栬妯″紡UML鍥?/strong>銆?br />

銆?strong>澶栬妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩璧涜濺綾伙細
package car_package;

public class car {

    
public void start() {
        System.out.println(
"杞﹀瓙宸插惎鍔?/span>");
    }

    
public void check_stop() {
        System.out.println(
"鍒硅濺媯鏌?/span>");
    }

    
public void check_box() {
        System.out.println(
"媯鏌ユ補綆?/span>");
    }

    
public void check_console() {
        System.out.println(
"媯鏌ヤ華琛ㄧ洏鏄惁寮傚父");
    }

}


鏂板緩璧涜濺鎿嶄綔鐨勫瑙傜被錛?/p>

package car_facade;

import car_package.car;

public class car_facade_imple {

    
public void car_go_go(car car_ref) {
        car_ref.check_box();
        car_ref.check_console();
        car_ref.check_stop();
        car_ref.start();
    }

}

 

銆銆鏂板緩瀹㈡埛绔繍琛岀被錛?/p>

package run_main;

import car_facade.car_facade_imple;
import car_package.car;

public class run_main {

    
public static void main(String[] args) {
        car_facade_imple car_facade_imple_ref 
= new car_facade_imple();
        car_facade_imple_ref.car_go_go(
new car());
    }

}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

媯鏌ユ補綆?br /> 媯鏌ヤ華琛ㄧ洏鏄惁寮傚父
鍒硅濺媯鏌?br /> 杞﹀瓙宸插惎鍔?/span>

寰堢畝鍗曞惂錛屽皢瀛愭搷浣滅敤涓涓瑙傛帴鍙e皝瑁呰搗鏉ワ紝鐒跺悗璋冪敤榪欎釜鎺ュ彛灝辨槸璋冪敤閭d簺闈炲父澶嶆潅鐨勫井鎿嶄綔浜嗐?br />

]]>
寤洪犺呮ā寮?/title><link>http://www.tkk7.com/ocean07000814/articles/252084.html</link><dc:creator>闈炴床灝忕櫧鑴?/dc:creator><author>闈炴床灝忕櫧鑴?/author><pubDate>Tue, 20 Jan 2009 09:31:00 GMT</pubDate><guid>http://www.tkk7.com/ocean07000814/articles/252084.html</guid><wfw:comment>http://www.tkk7.com/ocean07000814/comments/252084.html</wfw:comment><comments>http://www.tkk7.com/ocean07000814/articles/252084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/ocean07000814/comments/commentRss/252084.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/ocean07000814/services/trackbacks/252084.html</trackback:ping><description><![CDATA[<span style="color: #008000;"><span style="color: #000000;"><strong>璁捐妯″紡-蹇綆瑙?銆愬緩閫犺呮ā寮忋?/strong><br /> </span></span><br /> 銆?strong>寤洪犺呮ā寮忓簲鐢ㄥ満鏅婦渚?/strong>銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛岄偅涔堟瘡涓鍏崇殑鍦板浘浼氬崈鍙樹竾鍖栵紝綆鍗曠殑鏉ヨ錛屽湴鍥句細鏈夋櫞澶╁拰闃村ぉ涔嬪垎錛岄偅涔堝垱寤哄湴鍥炬椂灝辮鏍規嵁鏅村ぉ鎴栬呴槾澶╂潵瀵瑰湴鍥句笂鐨? 鍦烘櫙錛屾瘮濡傦細澶╃┖錛屾爲錛屾埧瀛愶紝鍜岃礬闈㈣繘琛屾覆鏌擄紝榪欎釜榪囩▼鏄竴涓浐瀹氱殑錛屾瘡鍒涘緩涓涓柊鍦板浘閮借鎵ц榪欏嚑涓覆鏌擄紝榪欐槸閽堝楂樼駭閰嶇疆鐨勭數鑴戞潵璇寸殑銆?br /> 鐜板湪鎷ユ湁浣庨厤緗數鑴戠殑浜轟笉鍦ㄥ皯鏁幫紝閭d箞浠栦滑灝變笉鑳界帺娓告垙浜嗗悧錛熷畬鍏ㄥ彲浠ワ紒鍙灝嗗湴鍥句腑鍗犵敤璧勬簮姣旇緝楂樼殑娓叉煋鍘繪帀灝卞彲浠ワ紝姣斿甯﹀弽灝勫厜褰辯殑鏍戯紝榪欐椂鍊欓渶瑕佸垱寤轟笉鍚岀殑鍦板浘錛屼絾鍦板浘鐨勫垱寤鴻繃紼嬪嵈鏄浐瀹氱殑錛屽緩閫犺呮ā寮忓畬鍏ㄥ彲浠ュ簲瀵硅繖鏍風殑鎯呭喌銆?br /> <br /> 銆?strong><strong>寤洪犺?/strong>妯″紡瑙i噴</strong>銆?br /> <span style="color: #ff0000;">綾誨瀷錛氬垱寤烘ā寮?br /> </span>銆銆灝嗕竴涓鏉傚璞$殑鏋勫緩涓庡畠鐨勮〃紺哄垎紱伙紝浣垮緱鍚屾牱鐨勬瀯寤鴻繃紼嬪彲浠ュ垱寤轟笉鍚岀殑琛ㄧず銆?br /> <br /> 銆?strong><strong>寤洪犺?/strong>妯″紡UML鍥?/strong>銆?br /> <img alt="" src="../../images/blogjava_net/ghyghost/35864/o_builder.gif" border="0" /><br /> <br /> 銆?strong><strong>寤洪犺?/strong>妯″紡-JAVA浠g爜瀹炵幇</strong>銆?br /> 鏂板緩鍦板浘鎺ュ彛錛? <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> map_package;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">interface</span><span style="color: #000000;"> map_interface {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_weather();<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_house();<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_tree();<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_way();<br /> <br /> }</span></div> <p><br /> 鏂板緩鏅村ぉ鍦板浘綾伙細</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> map_package;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> map_sun </span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> map_interface {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_weather() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鏅村ぉ</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_house() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鎴夸簡涓婄幓鐠冨彂浜?/span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_tree() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鏍戠殑棰滆壊鏄祬緇胯壊</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_way() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">璺潰鏈変簺騫茬嚗</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br /> }</span></div> <p> </p> <p>銆銆鏂板緩闃村ぉ鍦板浘綾伙細</p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> map_package;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> map_cloudy </span><span style="color: #0000ff;">implements</span><span style="color: #000000;"> map_interface{<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_weather() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">闃村ぉ</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_house() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鎴夸簡涓婄幓鐠冨彂鏆?/span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_tree() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鏍戠殑棰滆壊鏄繁緇胯壊</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_way() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">璺潰鏈変簺娼箍</span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />     }<br /> <br /> }</span></div> <p><br /> 鏂板緩楂樼敾璐╞uilder寤洪犺呯被錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> map_build;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_package.map_interface;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> map_build_adv {<br /> <br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> map_interface map_interface_ref;<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> map_build_adv(map_interface map_interface_ref) {<br />         </span><span style="color: #0000ff;">super</span><span style="color: #000000;">();<br />         </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.map_interface_ref </span><span style="color: #000000;">=</span><span style="color: #000000;"> map_interface_ref;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_map() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鍒涘緩涓涓珮鐢昏川鐨勫湴鍥?/span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> 鍒涘緩鐨勯『搴忓緢閲嶈 浠庡ぉ絀哄線璺潰鍒涘緩</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">        map_interface_ref.create_weather();<br />         map_interface_ref.create_house();<br />         map_interface_ref.create_tree();<br />         map_interface_ref.create_way();<br /> <br />     }<br /> <br /> }</span></div> <p><br /> 鏂板緩浣庣敾璐╞uilder寤洪犺呯被錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> map_build;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_package.map_interface;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> map_build_low {<br /> <br />     </span><span style="color: #0000ff;">private</span><span style="color: #000000;"> map_interface map_interface_ref;<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> map_build_low(map_interface map_interface_ref) {<br />         </span><span style="color: #0000ff;">super</span><span style="color: #000000;">();<br />         </span><span style="color: #0000ff;">this</span><span style="color: #000000;">.map_interface_ref </span><span style="color: #000000;">=</span><span style="color: #000000;"> map_interface_ref;<br />     }<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> create_map() {<br />         System.out.println(</span><span style="color: #000000;">"</span><span style="color: #000000;">鍒涘緩涓涓綆鐢昏川鐨勫湴鍥?/span><span style="color: #000000;">"</span><span style="color: #000000;">);<br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> 鍒涘緩鐨勯『搴忓緢閲嶈 浠庡ぉ絀哄線璺潰鍒涘緩</span><span style="color: #008000;"><br /> </span><span style="color: #000000;">        map_interface_ref.create_weather();<br />         map_interface_ref.create_house();<br />         </span><span style="color: #008000;">//</span><span style="color: #008000;"> map_interface_ref.create_tree();灝嗗垱寤烘爲鐨勮繃紼嬪幓鎺?/span><span style="color: #008000;"><br /> </span><span style="color: #000000;">        map_interface_ref.create_way();<br /> <br />     }<br /> <br /> }</span></div> <p><br /> 鏂板緩瀹㈡埛绔繍琛岀被錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #0000ff;">package</span><span style="color: #000000;"> run_main;<br /> <br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_build.map_build_adv;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_build.map_build_low;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_package.map_cloudy;<br /> </span><span style="color: #0000ff;">import</span><span style="color: #000000;"> map_package.map_sun;<br /> <br /> </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">class</span><span style="color: #000000;"> run_main {<br /> <br />     </span><span style="color: #0000ff;">public</span><span style="color: #000000;"> </span><span style="color: #0000ff;">static</span><span style="color: #000000;"> </span><span style="color: #0000ff;">void</span><span style="color: #000000;"> main(String[] args) {<br /> <br />         map_cloudy map_cloudy </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> map_cloudy();<br />         map_build_adv map_build_adv </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> map_build_adv(map_cloudy);<br />         map_build_adv.create_map();<br /> <br />         System.out.println();<br /> <br />         map_sun map_sun </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> map_sun();<br />         map_build_low map_build_low </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000ff;">new</span><span style="color: #000000;"> map_build_low(map_sun);<br />         map_build_low.create_map();<br /> <br />     }<br /> <br /> }</span></div> <p><br /> 紼嬪簭榪愯緇撴灉濡備笅錛?/p> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; font-size: 13px; width: 98%; background-color: #eeeeee;"><span style="color: #000000;">鍒涘緩涓涓珮鐢昏川鐨勫湴鍥?br /> 闃村ぉ<br /> 鎴夸簡涓婄幓鐠冨彂鏆?br /> 鏍戠殑棰滆壊鏄繁緇胯壊<br /> 璺潰鏈変簺娼箍<br /> <br /> 鍒涘緩涓涓綆鐢昏川鐨勫湴鍥?br /> 鏅村ぉ<br /> 鎴夸簡涓婄幓鐠冨彂浜?br /> 璺潰鏈変簺騫茬嚗</span></div> <p><br /> 浠庣▼搴忎腑鍙互鐪嬪埌錛屽緩閫犺呮ā寮忓皢涓嶅彉鐨勫垱寤鴻繃紼嬭繘琛屽皝瑁咃紝鍒涘緩鐨勮繃紼嬩笌main鍒嗘硶榪涜鍒嗙錛岃繖鏍峰唴閮ㄧ殑鍒涘緩榪囩▼灝卞拰琛ㄧず灞傜殑浠g爜榪涜鍒嗗紑錛屾湁鍒╀簬鍒? 寤鴻繃紼嬪姛鑳戒笂鐨勪慨鏀廣傚彟澶栧彲浠ュ彂鐜幫紝浠g爜鐨勮璁″拰鍔熻兘鏈変簺綾諱技浜巉acade澶栬妯″紡錛屽尯鍒湪浜庯紝寤洪犺呮ā寮忕洰鐨勫湪浜庝互鐩稿悓鐨勬瀯寤鴻繃紼嬮氳繃涓嶅悓鐨勫緩閫犺呭緱 鍒頒笉鍚岀殑緇撴灉錛岃屽瑙傛ā寮忓茍涓嶉渶瑕佷笉鍚岀殑寤洪犺咃紝涔熶笉甯屾湜寰楀埌涓嶅悓鐨勭粨鏋滐紝鍙槸綆鍗曠殑灝嗗嚑涓帴鍙e悎騫舵垚楂樼駭鐨勪竴涓帴鍙o紝涓嶅獎鍝嶅師鏈夌殑緇撴灉錛岀洰鐨勬槸浣胯皟鐢ㄥ彉 寰楁洿鍔犲鏄撱?/p> <p>銆銆鏈▼搴忎腑鏈?涓緩閫犺咃細楂樼敾鑰呭緩閫犺呭拰浣庣敾璐ㄥ緩閫犺咃紝瀹冧滑閮藉皝瑁呬簡鍒涘緩鍦板浘鐨勮繃紼嬶紝榪欎釜榪囩▼寰堝浐瀹氾紝浣嗛氳繃涓嶅悓鐨勫緩閫犺呯被鍙互榪斿洖涓嶆牱寮忕殑鍦板浘錛屽緩閫犺呰瀹氫簡瀵硅薄鍒涘緩鐨勮繃紼嬶紝姣斿楂樼敾璐ㄧ殑寤洪犺呯殑鍒涘緩榪囩▼涓猴細<br /> map_interface_ref.create_weather();<br /> map_interface_ref.create_house();<br /> map_interface_ref.create_tree();<br /> map_interface_ref.create_way();<br /> 蹇呴』寰楁墽琛?涓柟娉曟墠鍙互鍒涘緩涓涓珮鐢昏川鐨勫湴鍥撅紝濡傛灉涓嶄嬌鐢ㄥ緩閫犺呮ā寮忥紝鐩存帴璋冪敤map綾葷殑create_xxxx鏂規硶錛屽鏋渃reate_xxxx 鏂規硶鏈夊嚑鍗佷釜錛岄偅涔堝緢鏈夊彲鑳藉氨鎶婂叾涓殑鏌愪簺鏂規硶蹇樿璋冪敤鑰屽獎鍝嶆渶緇堝湴鍥劇殑鏁堟灉浜嗭紝鎵浠ユ垜浠浣跨敤寤洪犺呮ā寮忔潵瑙勫畾鍦板浘鍒涘緩鐨勮繃紼嬶紝榪欏氨鏄竴涓?#8220;琛屼負瀹堝垯 ”銆?/p> <br /> <img src ="http://www.tkk7.com/ocean07000814/aggbug/252084.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/ocean07000814/" target="_blank">闈炴床灝忕櫧鑴?/a> 2009-01-20 17:31 <a href="http://www.tkk7.com/ocean07000814/articles/252084.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>妯℃澘鏂規硶妯″紡http://www.tkk7.com/ocean07000814/articles/252082.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:29:00 GMThttp://www.tkk7.com/ocean07000814/articles/252082.htmlhttp://www.tkk7.com/ocean07000814/comments/252082.htmlhttp://www.tkk7.com/ocean07000814/articles/252082.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252082.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252082.html璁捐妯″紡-蹇綆瑙?銆愭ā鏉挎柟娉曟ā寮忋?/strong>

銆?strong>妯℃澘鏂規硶妯″紡搴旂敤鍦烘櫙涓句緥
銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾瘡杈嗚濺閮芥湁鏄劇ず閫熷害鐨勪華琛ㄧ洏錛屼絾鏈夊彲鑳紸杞︽樉紺虹殑鏄摑鑹茬殑浠〃鐩橈紝B杞︽樉紺虹殑鏄孩鑹茬殑浠〃鐩橈紝鍒嗘瀽涓彲浠ュ彂鐜幫紝浠栦滑閮? 鏈夎濺閫熷害鐨勫鹼紝浣嗘樉紺虹殑鏂瑰紡涓嶅お涓鏍楓傚叾瀹炴ā鏉挎柟娉曞氨鏄渶鍏稿瀷鐨?#8220;緇ф壙”鐨勪嬌鐢紝澶у騫蟲椂鐧懼垎鐧鵑兘鍙互鐢ㄥ埌錛屽彧鏄笉鐭ラ亾鍙ā鏉挎柟娉曟ā寮忥細錛夛紒

銆?strong>妯℃澘鏂規硶妯″紡瑙i噴銆?br /> 綾誨瀷錛氳涓烘ā寮?br /> 銆銆妯℃澘鏂規硶妯″紡瀹氫箟涓涓搷浣滀腑綆楁硶鐨勯鏋訛紝鑰屽皢涓浜涙楠ゅ歡榪熷埌瀛愮被涓紝浣垮緱瀛愮被鍙互涓嶆敼鍙樹竴涓畻娉曠殑緇撴瀯鍗沖彲閲嶅畾涔夎綆楁硶鐨勬煇浜涚壒瀹氭楠ゃ?br />
銆?strong>妯℃澘鏂規硶妯″紡UML鍥?/strong>銆?br />

銆?strong>妯℃澘鏂規硶妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩璧涜濺鐨勭埗綾伙細
package car_package;

public class car_parent {

    
private int speed;

    
public int getSpeed() {
        
return speed;
    }

    
public void setSpeed(int speed) {
        
this.speed = speed;
    }

    
public void print_speed() {
        System.out.println(
"灝嗛熷害" + this.getSpeed() + "鍙栧嚭鏉ワ紒");

    }

}


鏂板緩綰㈣壊浠〃鐩樼殑璧涜濺瀹炵幇綾伙細

package car_imple;

import car_package.car_parent;

public class car_imple_red extends car_parent {

    @Override
    
public void print_speed() {
        
super.print_speed();
        System.out.println(
"灝嗛熷害" + this.getSpeed() + "鐢ㄧ孩鑹茬殑浠〃鐩樻樉紺鴻濺鐨勯熷害");
    }

}


鏂板緩钃濊壊浠〃鐩樼殑璧涜濺瀹炵幇綾伙細

package car_imple;

import car_package.car_parent;

public class car_imple_blue extends car_parent {

    @Override
    
public void print_speed() {
        
super.print_speed();
        System.out.println(
"灝嗛熷害" + this.getSpeed() + "鐢ㄨ摑鑹茬殑浠〃鐩樻樉紺鴻濺鐨勯熷害");
    }

}

 

銆銆鏂板緩瀹㈡埛绔繍琛岀被錛?/p>

package run_main;

import car_imple.car_imple_blue;
import car_imple.car_imple_red;
import car_package.car_parent;

public class run_main {

    
public static void main(String[] args) {

        car_parent car_ref_red 
= new car_imple_red();
        car_ref_red.setSpeed(
300);
        car_ref_red.print_speed();

        car_parent car_ref_blue 
= new car_imple_blue();
        car_ref_blue.setSpeed(
400);
        car_ref_blue.print_speed();

    }

}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

灝嗛熷害300鍙栧嚭鏉ワ紒
灝嗛熷害300鐢ㄧ孩鑹茬殑浠〃鐩樻樉紺鴻濺鐨勯熷害
灝嗛熷害400鍙栧嚭鏉ワ紒
灝嗛熷害400鐢ㄨ摑鑹茬殑浠〃鐩樻樉紺鴻濺鐨勯熷害

榪欏氨鏄ā鏉挎柟娉曟ā寮忥紝涓涓渶甯哥敤錛屾渶瀹規槗鐞嗚В鐨勪竴涓ā寮忥紝灝嗙浉鍚岀殑鍔熻兘鎶借薄鍑烘潵鎴愪竴涓埗綾伙紝鐒跺悗鐢ㄥ瓙綾誨仛涓嶅悓鍔熻兘鐨勫疄鐜般?

]]>
鍘熷瀷妯″紡http://www.tkk7.com/ocean07000814/articles/252081.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:28:00 GMThttp://www.tkk7.com/ocean07000814/articles/252081.htmlhttp://www.tkk7.com/ocean07000814/comments/252081.htmlhttp://www.tkk7.com/ocean07000814/articles/252081.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252081.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252081.html璁捐妯″紡-蹇綆瑙?銆愬師鍨嬫ā寮忋?/strong>

銆?strong>鍘熷瀷妯″紡搴旂敤鍦烘櫙涓句緥
銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾瘡涓父鎴忚呴兘鏈夎嚜宸辯殑璐﹀彿鐢ㄦ潵鏍囪瘑鐜╁錛岃屾瘡涓帺瀹墮兘鍙互鎷ユ湁鐩稿悓鐨勮濺杈嗭紝榪欐牱姣忎釜鐜╁閮芥嫢鏈夌浉鍚岀殑杞︼紝姣斿浣犵殑棰嗗眳 鏈夊ゥ榪狝6錛屼綘鐨勮佸﹩瀵逛綘璇達紝鎴戜篃瑕佸紑鍜岄偦灞呬竴鏍風殑濂ヨ開A6錛屽ソ浜嗭紝鐜板湪浣犱滑瀹朵篃鏈夊ゥ榪狝6浜嗭紝浣犱滑姣忓ぉ寮鐫鑷繁鐨勮濺鍘諱笂鐝紝閭d箞鍦ㄨ繖縐嶆儏鍐典笅灝卞彲浠ュ簲鐢? 鍘熷瀷妯″紡浜嗭紝鍘熷瀷妯″紡寰堢畝鍗曞摕錛氾級灝辨槸綾葷殑copy澶嶅埗銆?br />
銆?strong>鍘熷瀷妯″紡瑙i噴銆?br /> 綾誨瀷錛氬垱寤烘ā寮?br /> 銆銆鐢ㄥ師鍨嬪疄渚嬪埗瀹氬垱寤哄璞$殑縐嶇被錛屽茍涓旈氳繃鎷瘋礉榪欎簺鍘熷瀷鍒涘緩鏂扮殑瀵硅薄銆?br />
銆?strong>鍘熷瀷妯″紡UML鍥?/strong>銆?br />

銆?strong>鍘熷瀷妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩璧涜濺鐨勬帴鍙o細
package car_interface;

public interface car_interface {

    
public void start();

    
public void stop();
}


鏂板緩濂ヨ開姹借濺鐨勫疄鐜扮被錛?/p>

package car_imple;

import car_fittings.car_tyre;
import car_interface.car_interface;

public class audi_imple implements car_interface, Cloneable {

    
private car_tyre car_tyre_ref;

    
public void start() {
        System.out.println(
"濂ヨ開A6鍚姩浜?/span>");

    }

    
public void stop() {
        System.out.println(
"濂ヨ開A6鍋滄浜?/span>");

    }

    
public car_tyre getCar_tyre_ref() {
        
return car_tyre_ref;
    }

    
public void setCar_tyre_ref(car_tyre car_tyre_ref) {
        
this.car_tyre_ref = car_tyre_ref;
    }

    @Override
    
public Object clone() throws CloneNotSupportedException {
        
super.clone();
        audi_imple audi_imple 
= new audi_imple();
        audi_imple.setCar_tyre_ref(
new car_tyre());

        
return audi_imple;
    }
}

銆銆鍦ㄥゥ榪苯杞﹀疄鐜扮被涓渶瑕佹敞鎰忕殑鏄皢鍘熸潵protected綾誨瀷鐨刢lone鏂規硶瑕佸彉鎴恜ublic錛岃繖鏍鋒墠鍙互瀵瑰鍏紑錛屽彲浠ヨ璋冪敤錛屽皢縐樺瘑鍏紑鍖栥?br />
鏂板緩濂ヨ開姹借濺鐨勯厤浠惰疆鑳庣被錛?/p>

package car_fittings;

public class car_tyre {

    
private String name = "寰峰浗鍒墮犲師鐗堣疆鑳?/span>";

    
public String getName() {
        
return name;
    }

}

 

銆銆鏂板緩瀹㈡埛绔繍琛岀被錛?/p>

package run_main;

import car_fittings.car_tyre;
import car_imple.audi_imple;
import car_interface.car_interface;

public class run_main {

    
public static void main(String[] args) {

        
try {
            audi_imple car_ref_my 
= new audi_imple();
            car_ref_my.setCar_tyre_ref(
new car_tyre());
            System.out.println(
"鎴戠殑濂ヨ開杞︾殑鍙傛暟鏄細" + car_ref_my);
            System.out.println(
"鎴戠殑濂ヨ開杞︾殑杞儙鍙傛暟鏄細" + car_ref_my.getCar_tyre_ref());

            audi_imple car_ref_other 
= (audi_imple) car_ref_my.clone();
            System.out.println(
"鍏跺畠浜虹殑濂ヨ開杞︾殑鍙傛暟鏄細" + car_ref_other);
            System.out.println(
"鍏跺畠浜虹殑濂ヨ開杞︾殑杞儙鍙傛暟鏄細"
                    
+ car_ref_other.getCar_tyre_ref());

        } 
catch (CloneNotSupportedException e) {
            
// TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

 

鎴戠殑濂ヨ開杞︾殑鍙傛暟鏄細car_imple.audi_imple@9cab16
鎴戠殑濂ヨ開杞︾殑杞儙鍙傛暟鏄細car_fittings.car_tyre@1a46e30
鍏跺畠浜虹殑濂ヨ開杞︾殑鍙傛暟鏄細car_imple.audi_imple@3e25a5
鍏跺畠浜虹殑濂ヨ開杞︾殑杞儙鍙傛暟鏄細car_fittings.car_tyre@19821f

浠庢墦鍗扮殑緇撴灉鏉ョ湅錛屾垜鐨勬苯杞︽垜鐨勮疆鑳庡拰鍏跺畠浜虹殑姹借濺鍜岃疆鑳庨兘鏄笉涓鏍風殑瀵硅薄錛屼絾“綾誨瀷”閮芥槸涓鏍風殑錛氬ゥ榪殑姹借濺錛屽師鐗堢殑杞儙銆傛湰渚嬩腑涔熷疄鐜頒簡“鍘熷瀷妯? 寮?#8221;涓殑“娣辨嫹璐?娣卞鍒?#8221;錛屽嵆姹借濺綾諱腑鏈変竴涓璞?#8220;杞儙”瀵硅薄錛屽叧浜庢繁鎷瘋礉/娣卞鍒剁殑姒傚康璇峰弬鑰冨叾瀹冪殑璧勬枡銆傚師鍨嬫ā寮忛氬父閮芥槸鍦ㄥ鍒跺璞$殑鏃跺欎嬌鐢紝鑰? 鍦ㄥ父瑙勭殑鎯呭喌涓嬮兘鏄嬌鐢╪ew閲嶆柊鍒涘緩涓涓紝騫朵笖閲嶆柊瀵瑰睘鎬ц繘琛屽鍒訛紝浠g爜閲嶅搴﹀緢楂橈紝鍘熷瀷妯″紡鐨勫嚭鐜伴伩鍏嶄簡new鐨勭‖鎿嶄綔銆?br />

]]>
瑁呴グ妯″紡http://www.tkk7.com/ocean07000814/articles/252078.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:27:00 GMThttp://www.tkk7.com/ocean07000814/articles/252078.htmlhttp://www.tkk7.com/ocean07000814/comments/252078.htmlhttp://www.tkk7.com/ocean07000814/articles/252078.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252078.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252078.html瑁呴グ妯″紡搴旂敤鍦烘櫙涓句緥銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾父鎴忎腑鏈夊姹借濺榪涜鍠鋒秱楦︾殑鍔熻兘錛岃屼笖榪欎釜鍠鋒秱楦︽槸鍙互瑕嗙洊鐨勶紝騫朵笖瑕嗙洊鐨勯『搴忎篃褰卞搷鍒版渶鍚庤濺韜殑鏄劇ず鏁堟灉錛屽亣璁劇幇鍦ㄥ柗娑傞甫鍏鋒湁2縐嶆牱寮忥細
錛?錛夌孩鑹茬伀鐒般錛?錛夌傳鑹查湠鍏?br /> 濡傛灉浣跨敤“緇ф壙鐖剁被”璁捐榪欐牱鐨勫姛鑳斤紝閭d箞綾誨浘灝卞儚濡備笅鐨勮繖鏍鳳細

浠庡浘涓彲浠ョ湅鍒頒嬌鐢ㄧ戶鎵挎潵瀹炵幇榪欑鍔熻兘錛屽茍涓旀槸2縐嶆秱楦︽牱寮忥紝灝遍渶瑕佸垱寤?涓瓙綾伙紝濡傛灉鍠鋒秱楦︽湁3縐嶏紝4縐嶅憿錛熻繖縐嶆儏鍐靛氨鏄吀鍨嬩腑瀛﹁紼嬪涔犺繃鐨?#8220;鎺掑垪涓庣粍鍚?#8221;錛岄偅綆鐩村氨鏄?#8220;Head First璁捐妯″紡”涔︿腑璁茬殑“綾葷垎鐐?#8221;銆?br /> 鏄劇劧緇ф壙“濂ヨ開姹借濺綾?#8221;鐨勮繖涓姙娉曟槸鏃犳晥錛岃屼笖鏄潪甯稿緬鍔籌紝綣佺悙鐨勩?br /> 閭d箞濡備綍鎵嶈兘浠?#8220;鐏墊椿”錛?#8220;欏哄簭鏁忔劅”榪欐牱鐨勯渶姹傛潵瀹炵幇榪欐牱鐨勫姛鑳藉憿錛?br />
銆?strong>瑁呴グ妯″紡瑙i噴銆?br /> 綾誨瀷錛氱粨鏋勬ā寮?br /> 銆銆鍔ㄦ佺殑瀵逛竴涓璞¤繘琛屽姛鑳戒笂鐨勬墿灞曪紝涔熷彲浠ュ鍏跺瓙綾昏繘琛屽姛鑳戒笂鐨勬墿灞曘?br />
銆?strong>瑁呴グ妯″紡UML鍥?/strong>銆?br />

銆?strong>瑁呴グ妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩涓涓娊璞℃苯杞︾埗綾伙細
package car_package;

public abstract class car_parent {
    
// 姹借濺鎶借薄鐖剁被
    private String make_address;
    
private int speed;

    
public String getMake_address() {
        
return make_address;
    }

    
public void setMake_address(String make_address) {
        
this.make_address = make_address;
    }

    
public int getSpeed() {
        
return speed;
    }

    
public void setSpeed(int speed) {
        
this.speed = speed;
    }

    
public abstract void print_face();

}


鐒跺悗鏂板緩涓涓ゥ榪苯杞﹀瓙綾伙細

package car_package;

public class audi_sub extends car_parent {
    
// 濂ヨ開姹借濺瀛愮被

    @Override
    
public void print_face() {
        System.out.println(
"audi杞﹂粯璁ょ殑棰滆壊涓恒榛戣壊");
    }

}


鐒跺悗鍐嶆柊寤轟竴涓楗拌呯埗綾伙細

package decorator_package;

import car_package.car_parent;

public abstract class decorator_parent extends car_parent {
    
// 瑁呴グ鑰呯埗綾?/span>

    
protected car_parent car_parent_ref;

    
public void setCar_parent_ref(car_parent car_parent_ref) {
        
this.car_parent_ref = car_parent_ref;
    }

    @Override
    
public void print_face() {
        car_parent_ref.print_face();
    }

}


鐒跺悗鍐嶆柊寤鴻楗拌呭瓙綾伙細綰㈣壊鐏劙瑁呴グ鑰呯被錛?/p>

package decorator_package;

public class decorator_audi_red extends decorator_parent {

    @Override
    
public void print_face() {
        
super.print_face();
        System.out.println(
"緇欍濂ヨ開銆鍠鋒秱楦︺-銆棰滆壊涓恒綰㈣壊鐏劙");
    }

}


鐒跺悗鍐嶆柊寤鴻楗拌呭瓙綾伙細绱壊闇炲厜瑁呴グ鑰呯被錛?br />

package decorator_package;

public class decorator_audi_purple extends decorator_parent {

    @Override
    
public void print_face() {
        
super.print_face();
        System.out.println(
"緇欍濂ヨ開銆鍠鋒秱楦︺-銆棰滆壊涓恒绱壊闇炲厜");
    }

}


鏂板緩涓涓繍琛岀被錛?/p>

package main_run;

import car_package.audi_sub;
import decorator_package.decorator_audi_purple;
import decorator_package.decorator_audi_red;

public class main_run {

    
public static void main(String[] args) {

        audi_sub audi_sub_ref 
= new audi_sub();
        audi_sub_ref.setMake_address(
"鍖椾含甯傛湞闃沖尯");
        audi_sub_ref.setSpeed(
200);

        decorator_audi_red decorator_audi_red_ref 
= new decorator_audi_red();
        decorator_audi_red_ref.setCar_parent_ref(audi_sub_ref);

        decorator_audi_purple decorator_audi_purple_ref 
= new decorator_audi_purple();
        decorator_audi_purple_ref.setCar_parent_ref(decorator_audi_red_ref);

        decorator_audi_purple_ref.print_face();

    }
}


紼嬪簭榪愯緇撴灉濡備笅錛?br />

audi杞﹂粯璁ょ殑棰滆壊涓恒榛戣壊
緇欍濂ヨ開銆鍠鋒秱楦︺
-銆棰滆壊涓恒綰㈣壊鐏劙
緇欍濂ヨ開銆鍠鋒秱楦︺
-銆棰滆壊涓恒绱壊闇炲厜

浠庣▼搴忕粨鏋勪腑鍙互鐪嬪埌錛屽畬鍏ㄧ鍚堜簡鍓嶉潰鎴戜滑鐨勮姹傦細“鐏墊椿”錛?#8220;欏哄簭鏁忔劅”銆?

]]>
絳栫暐妯″紡http://www.tkk7.com/ocean07000814/articles/252079.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:27:00 GMThttp://www.tkk7.com/ocean07000814/articles/252079.htmlhttp://www.tkk7.com/ocean07000814/comments/252079.htmlhttp://www.tkk7.com/ocean07000814/articles/252079.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252079.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252079.html璁捐妯″紡-蹇綆瑙?銆愮瓥鐣ユā寮忋?/strong>

銆?strong>絳栫暐妯″紡搴旂敤鍦烘櫙涓句緥
銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛岄偅涔堟父鎴忓杞︾殑杞儙鏄彲浠ユ洿鎹㈢殑錛屼笉鍚岀殑杞儙鍦ㄩ珮閫熻漿寮椂鏈変笉鍚岀殑鐥曡抗鏍峰紡錛岄偅涔堥拡瀵?#8220;姹借濺”鐨勯厤浠?#8220;杞儙”灝辮鍙互鍙樺寲錛岃屼笖杞儙鍜岃疆鑳庝箣闂存槸鍙互鐩鎬簰鏇挎崲鐨勶紝榪欏氨鏄吀鍨嬬殑瑕佸簲鐢?#8220;絳栫暐妯″紡”鐨勫満鏅紒

銆?strong>絳栫暐妯″紡瑙i噴銆?br /> 綾誨瀷錛氳涓烘ā寮?br /> 銆銆瀹氫箟涓緇勭畻娉曪紝灝嗘瘡涓畻娉曢兘灝佽璧鋒潵錛屽茍涓斾嬌瀹冧滑涔嬮棿鍙互浜掓崲銆傜瓥鐣ユā寮忎嬌榪欎簺綆楁硶鍦ㄥ鎴風璋冪敤瀹冧滑鐨勬椂鍊欒兘澶熶簰涓嶅獎鍝嶅湴鍙樺寲銆?br />
銆?strong>絳栫暐妯″紡UML鍥?/strong>銆?br />
銆?strong>絳栫暐妯″紡-JAVA浠g爜瀹炵幇銆?br /> 浠庣瓥鐣ユā寮廢ML鍥句腑鍙互鐪嬪埌Context涓庢帴鍙trategy鏄粍鍚堝叧緋伙紝鍗沖己寮曠敤鍏崇郴銆?br />
鏂板緩涓涓疆鑳庢帴鍙o細
package strategy_interface;

public interface tyre_interface {

    
// tyre 杞儙
    public void print_tyre_line();// 鏄劇ず鍑鴻疆鑳庣殑鐥曡抗

}

鏂板緩2涓疆鑳庢帴鍙g殑瀹炵幇綾伙細
package strategy_implement;

import strategy_interface.tyre_interface;

//闀跨棔榪硅疆鑳庣被
public class tyre_long_implement implements tyre_interface {

    
public void print_tyre_line() {
        System.out.println(
"鍦ㄨ礬闈笂鏄劇ず涓涓暱杞儙鐥曡抗");
    }

}

package strategy_implement;

import strategy_interface.tyre_interface;

//鐭棔榪硅疆鑳庣被
public class tyre_short_implement implements tyre_interface {

    
public void print_tyre_line() {
        System.out.println(
"鍦ㄨ礬闈笂鏄劇ず涓涓煭杞儙鐥曡抗");
    }

}

鍩轟簬涓涓疆鑳庢帴鍙f潵瀹炵幇涓嶅悓鏍峰紡鐨勮疆鑳庢牱寮忋?br />
緇勮涓涓狢ar杞︾被錛?br />
package car_package;

import strategy_interface.tyre_interface;

public class Car {

    
private String make_address;// 鍒墮犲湴
    private int death_year;// 鎶ュ簾騫撮檺
    private int speed;// 閫熷害
    private tyre_interface tyre_interface_ref;// 杞儙鐨勬牱寮?/span>

    
public String getMake_address() {
        
return make_address;
    }

    
public void setMake_address(String make_address) {
        
this.make_address = make_address;
    }

    
public int getDeath_year() {
        
return death_year;
    }

    
public void setDeath_year(int death_year) {
        
this.death_year = death_year;
    }

    
public int getSpeed() {
        
return speed;
    }

    
public void setSpeed(int speed) {
        
this.speed = speed;
    }

    
public tyre_interface getTyre_interface_ref() {
        
return tyre_interface_ref;
    }

    
public void setTyre_interface_ref(tyre_interface tyre_interface_ref) {
        
this.tyre_interface_ref = tyre_interface_ref;
    }

    
public void start() {

        System.out.println(
"杞︾殑鍩烘湰淇℃伅涓猴細");
        System.out.println(
"鍒墮犲湴make_address錛?/span>" + this.getMake_address());
        System.out.println(
"鎶ュ簾騫撮檺death_year錛?/span>" + this.getDeath_year());
        System.out.println(
"閫熷害speed錛?/span>" + this.getSpeed());

        System.out.println(
"Car 璧峰姩浜嗭紒");

        System.out.println(
"Car楂橀熻椹訛紝閬囧埌涓涓ぇ杞集錛岃礬闈㈡樉紺猴細");
        
this.getTyre_interface_ref().print_tyre_line();

    }
}

璁╄濺璺戣搗鏉ワ紝騫朵笖鍏鋒湁鏇存崲杞儙鏍峰紡鐨勫姛鑳斤細
package main_run;

import strategy_implement.tyre_long_implement;
import strategy_implement.tyre_short_implement;
import car_package.Car;

public class run_main {

    
public static void main(String[] args) {

        tyre_long_implement tyre_long_implement 
= new tyre_long_implement();
        tyre_short_implement tyre_short_implement 
= new tyre_short_implement();
        Car car 
= new Car();
        car.setDeath_year(
8);
        car.setMake_address(
"鍖椾含鏈濋槼鍖?/span>");
        car.setSpeed(
200);
        car.setTyre_interface_ref(tyre_long_implement);
        car.start();

    }
}

鎺у埗鍙版墦鍗板嚭錛?br />
杞︾殑鍩烘湰淇℃伅涓猴細
鍒墮犲湴make_address錛氬寳浜湞闃沖尯
鎶ュ簾騫撮檺death_year錛?/span>8
閫熷害speed錛?/span>200
Car 璧峰姩浜嗭紒
Car楂橀熻椹訛紝閬囧埌涓涓ぇ杞集錛岃礬闈㈡樉紺猴細
鍦ㄨ礬闈笂鏄劇ず涓涓暱杞儙鐥曡抗

鏄竴涓暱杞儙鐥曡抗錛屼絾鍦ㄧ▼搴忎腑鍙互浣跨敤浠g爜錛歝ar.setTyre_interface_ref(tyre_long_implement);鏉ュ 杞儙鐨勬牱寮忚繘琛屼笉鍚岀殑鏇挎崲錛屽彲浠ユ浛鎹㈡垚鐭疆鑳庣棔榪圭殑姹借濺杞儙錛岃繖鏍峰湪涓嶆洿鏀笴ar綾葷殑鍓嶉涓嬭繘琛屼簡涓嶅悓杞儙鏍峰紡鐨勬敼鍙橈紝杞儙鍜岃疆鑳庝箣闂村彲浠ヤ簰鐩告浛鎹紝榪欏氨 鏄瓥鐣ユā寮忋?

]]>
浠g悊妯″紡http://www.tkk7.com/ocean07000814/articles/252077.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:26:00 GMThttp://www.tkk7.com/ocean07000814/articles/252077.htmlhttp://www.tkk7.com/ocean07000814/comments/252077.htmlhttp://www.tkk7.com/ocean07000814/articles/252077.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252077.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252077.html浠g悊妯″紡搴旂敤鍦烘櫙涓句緥銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屽鏋滄父鎴忚呮墜涓殑閲戦挶杈懼埌浜嗕竴瀹氱殑鏁伴噺灝卞彲浠ュ埌杞﹀簵涔頒竴閮ㄦц兘鏇撮珮鐨勮禌杞︼紝閭d箞榪欎釜鍗栬濺鐨?#8220;杞﹀簵”灝辨槸涓涓吀鍨嬬殑“姹? 杞﹀巶瀹?#8221;鐨?#8220;浠g悊”錛屼粬涓烘苯杞﹀巶瀹?#8220;鎻愪緵鍗栬濺鐨勬湇鍔?#8221;緇欐湁闇姹傜殑浜哄+銆備粠闈㈠悜瀵硅薄鐨勬柟闈㈣冭檻錛?#8220;閿鍞苯杞︾殑浠g悊”涔熸槸涓涓璞★紝閭d箞榪欎釜瀵硅薄涔熷叿鏈変竴瀹氱殑 鐘舵侊紝鍦ㄨ蔣浠墮」鐩腑榪欎釜瀵硅薄涔熷叿鏈夌鐞嗚儲鍔¤繘閿瀛樼殑鍩烘湰鍔熻兘錛岄偅涔堝湪璁捐鏃跺氨瑕佷互闈㈠悜OOP緙栫▼鐨勬濇兂鏉ヨ冭檻杞歡鐨勭被緇撴瀯錛岃繖涓攢鍞苯杞︾殑浠g悊涔熸槸涓涓被 浜嗐?br />
銆?strong>浠g悊妯″紡瑙i噴銆?br /> 綾誨瀷錛氱粨鏋勬ā寮?br /> 銆銆瀵逛竴浜涘璞℃彁渚涗唬鐞嗭紝浠ラ檺鍒墮偅浜涘璞″幓璁塊棶鍏跺畠瀵硅薄銆?br />
銆?strong>浠g悊妯″紡UML鍥?/strong>銆?br />

銆?strong>浠g悊妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩涓涓拱杞︾殑鎺ュ彛錛?
package buy_car_package;

public interface buy_car_package {

    
public void buy_car();
}


鏂板緩涓涓猵eople浜虹被錛屽叿鏈変拱杞︾殑琛屼負錛屾墍浠ュ疄鐜版帴鍙uy_car_package錛?/p>

package buy_car_imple;

import buy_car_package.buy_car_package;

public class people implements buy_car_package {

    
private int cash;
    
private String username;

    
public int getCash() {
        
return cash;
    }

    
public void setCash(int cash) {
        
this.cash = cash;
    }

    
public String getUsername() {
        
return username;
    }

    
public void setUsername(String username) {
        
this.username = username;
    }

    
public void buy_car() {
        System.out.println(username 
+ "涔頒簡涓鍙版柊杞?/span>");
    }

}


people綾諱笉鑳芥嫢鏈夎濺錛屽繀欏葷粡榪噋roxy浠g悊綾葷殑璁よ瘉錛岀鍚堟潯浠朵箣鍚庢墠鍙互鎷ユ湁杞﹁締錛屾柊寤轟竴涓唬鐞嗭紝榪欎釜浠g悊綾繪潵鑰冨療褰撳墠鐨刾eople鏄惁鏈夎祫鏍艱繘琛屼拱杞︼細

package buy_car_imple;

import buy_car_package.buy_car_package;

public class proxy_buy_car_imple implements buy_car_package {

    
private people people;

    
public people getPeople() {
        
return people;
    }

    
public void setPeople(people people) {
        
this.people = people;
    }

    
public void buy_car() {
        
if (people.getCash() > 3000) {
            System.out.print(
"姹借濺鍟嗗簵甯細");
            people.buy_car();
        } 
else {
            System.out.println(people.getUsername() 
+ "閲戦挶涓嶅錛岃緇х畫姣旇禌!");
        }
    }

}


鏈鍚庡垱寤轟竴涓鎴風錛岀敤鏉ユā鎷熶拱杞︾殑琛屼負錛?/p>

package run_main;

import buy_car_imple.people;
import buy_car_imple.proxy_buy_car_imple;

public class run_main {
    
public static void main(String[] args) {
        people people_ref1 
= new people();
        people_ref1.setCash(
4000);
        people_ref1.setUsername(
"楂樻椽宀?/span>");

        people people_ref2 
= new people();
        people_ref2.setCash(
2000);
        people_ref2.setUsername(
"宀╂椽楂?/span>");

        proxy_buy_car_imple proxy_buy_car_imple 
= new proxy_buy_car_imple();
        proxy_buy_car_imple.setPeople(people_ref1);
        proxy_buy_car_imple.buy_car();

        proxy_buy_car_imple.setPeople(people_ref2);
        proxy_buy_car_imple.buy_car();

    }
}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

楂樻椽宀╄姳4000鍧椼涔頒簡鏂拌濺銆浜ゆ槗緇撴潫
宀╂椽楂橀噾閽變笉澶燂紝璇風戶緇瘮璧?/span>!

榪欐牱people灝變笉鍙兘鑷敱鐨勬嫢鏈夎濺杈嗭紝蹇呴』緇忚繃proxy鐨勮璇佷箣鍚庢墠鍙互銆?br /> 鑰屼唬鐞嗘ā寮忓湪GOF鍥涗漢甯殑浠嬬粛涓ぇ浣撴湁4縐嶄嬌鐢ㄦ儏鏅細
錛?錛夎繙紼嬩唬鐞嗐傚吀鍨嬬殑灝辨槸瀹㈡埛绔笌webservice浣跨敤鐨勬儏鍐碉紝瀹㈡埛绔敱浜庢槸閽堝OOP緙栫▼錛岃屼笉鏄拡瀵箇ebservice涓殑鏂規硶榪涜緙? 紼嬶紝鎵浠ュ緱鍦ㄥ鎴風妯℃嫙涓涓媤ebservice鐨勭幆澧冿紝鐢╬roxy鏉ュwebservice榪涜鍖呰錛岃繖鏍峰氨鍙互浣跨敤proxy浠g悊綾繪潵榪滅▼鎿嶄綔 webservice浜嗐?br /> 錛?錛夎櫄鎷熶唬鐞嗐傛瘮濡備綘瑕佸紑鍙戜竴涓ぇ鏂囨。鏌ョ湅杞歡錛屽ぇ鏂囨。涓湁澶х殑鍥劇墖錛屾湁鍙兘涓涓浘鐗囨湁100MB錛屽湪鎵撳紑鏂囦歡鏃朵笉鍙兘灝嗘墍鏈夌殑鍥劇墖閮芥樉紺哄嚭鏉ワ紝榪欐牱灝卞彲浠ヤ嬌鐢ㄤ唬鐞嗘ā寮忥紝褰撻渶瑕佹煡鐪嬪浘鐗囨椂錛岀敤proxy鏉ヨ繘琛屽ぇ鍥劇墖鐨勬墦寮銆?br /> 錛?錛夊畨鍏ㄤ唬鐞嗐傚叾瀹炰篃灝辨槸鏈緥涓墍涓劇殑涔拌濺鐨勪緥瀛愶紝閲戦挶涓嶅涓嶅彲浠ヤ拱杞︼紒
錛?錛夋櫤鑳芥寚寮曘傛瘮濡傚湪璁塊棶涓涓璞℃椂媯嫻嬪叾鏄惁琚攣瀹氱瓑鎯呭喌銆?

]]>
宸ュ巶鏂規硶妯″紡http://www.tkk7.com/ocean07000814/articles/252076.html闈炴床灝忕櫧鑴?/dc:creator>闈炴床灝忕櫧鑴?/author>Tue, 20 Jan 2009 09:24:00 GMThttp://www.tkk7.com/ocean07000814/articles/252076.htmlhttp://www.tkk7.com/ocean07000814/comments/252076.htmlhttp://www.tkk7.com/ocean07000814/articles/252076.html#Feedback0http://www.tkk7.com/ocean07000814/comments/commentRss/252076.htmlhttp://www.tkk7.com/ocean07000814/services/trackbacks/252076.html宸ュ巶鏂規硶妯″紡搴旂敤鍦烘櫙涓句緥銆?br /> 姣斿鍦ㄧ帺“鏋佸搧椋炶濺”榪欐娓告垙錛屾檿浜嗗惂錛屾垜鍠滄鏋佸搧椋炶濺錛氾級錛屽湪鐜╄繖嬈炬父鎴忔椂錛屾父鎴忚呭彲浠ラ夋嫨浠庝笉鍚屽搧鐗屾潵閫夋嫨璧涜濺錛岄偅涔堣繖涓?#8220;鍝佺墝”鍏跺疄涔熷氨鏄伐鍘傦紝姣忎釜宸ュ巶鐢熶駭鐨勮禌杞﹂兘涓嶄竴鏍鳳紝榪欏氨鏄吀鍨嬬殑宸ュ巶鏂規硶鐨勫簲鐢ㄥ満鏅?br />
銆?strong>宸ュ巶鏂規硶妯″紡瑙i噴銆?br /> 綾誨瀷錛氬垱寤烘ā寮?br /> 銆銆瀹氫箟涓涓敤浜庡垱寤哄璞$殑鎺ュ彛錛岃鍏跺瓙綾繪潵鍐沖畾瀹炰緥鍖栧摢涓涓被錛堜駭鍝侊級錛屽伐鍘傛柟娉曚嬌涓涓被鐨勫垱寤哄歡榪熷埌鍏跺瓙綾諱腑銆?br />
銆?strong>宸ュ巶鏂規硶妯″紡UML鍥?/strong>銆?br />

銆?strong>宸ュ巶鏂規硶妯″紡-JAVA浠g爜瀹炵幇銆?br /> 鏂板緩璧涜濺鐨勬帴鍙o細
package car_interface;

public interface Icar_interface {

    
public void start();

    
public void stop();

}


鏂板緩1涓苯杞︿俊鎭殑鍩虹被錛?/p>

package car_imple;

import car_interface.Icar_interface;

public class base_car_imple implements Icar_interface {

    
private int speed;

    
private String name;

    
public int getSpeed() {
        
return speed;
    }

    
public void setSpeed(int speed) {
        
this.speed = speed;
    }

    
public String getName() {
        
return name;
    }

    
public void setName(String name) {
        
this.name = name;
    }

    
public void start() {
        
// TODO Auto-generated method stub

    }

    
public void stop() {
        
// TODO Auto-generated method stub

    }

}


鏂板緩濂ヨ開姹借濺瀹炵幇綾伙細

package car_imple;

import car_interface.Icar_interface;

public class car_audi_imple extends base_car_imple {

    
public void start() {
        System.out.println(
this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩澶т紬姹借濺瀹炵幇綾伙細

package car_imple;

import car_interface.Icar_interface;

public class car_3w_imple extends base_car_imple {

    
public void start() {
        System.out.println(
this.getName() + " 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細"
                
+ this.getSpeed());
    }

    
public void stop() {
        System.out.println(
this.getName() + " 杞︿互涓撳埄鎶鏈仠杞︿簡");
    }

}


鏂板緩涓涓苯杞﹀伐鍘傛帴鍙o細

package car_factory_interface;

import car_interface.Icar_interface;

public interface Icar_factory {

    
public Icar_interface create_car();

}


鏂板緩涓涓垱寤哄ゥ榪濺鐨勬苯杞﹀伐鍘傚疄鐜扮被錛?/p>

package car_factory_imple;

import car_factory_interface.Icar_factory;
import car_imple.car_audi_imple;
import car_interface.Icar_interface;

public class audi_car_factory_imple implements Icar_factory {

    
public Icar_interface create_car() {

        car_audi_imple car_audi_imple_ref 
= new car_audi_imple();
        car_audi_imple_ref.setName(
"濂ヨ開A6");
        car_audi_imple_ref.setSpeed(
300);

        
return car_audi_imple_ref;
    }
}


鏂板緩涓涓垱寤哄ぇ浼楄濺鐨勬苯杞﹀伐鍘傚疄鐜扮被錛?/p>

package car_factory_imple;

import car_factory_interface.Icar_factory;
import car_imple.car_3w_imple;
import car_imple.car_audi_imple;
import car_interface.Icar_interface;

public class threeW_car_factory_imple implements Icar_factory {

    
public Icar_interface create_car() {

        car_3w_imple car_3w_imple_ref 
= new car_3w_imple();
        car_3w_imple_ref.setName(
"澶т紬A6");
        car_3w_imple_ref.setSpeed(
400);

        
return car_3w_imple_ref;

    }

}


瀹㈡埛绔繍琛岀▼搴忎唬鐮侊細

package run_main;

import car_factory_imple.audi_car_factory_imple;
import car_factory_interface.Icar_factory;
import car_interface.Icar_interface;

public class run_main {

    
public static void main(String[] args) {

        Icar_factory car_factory 
= new audi_car_factory_imple();
        Icar_interface car_ref 
= car_factory.create_car();
        car_ref.start();
        car_ref.stop();

    }

}


紼嬪簭榪愯緇撴灉濡備笅錛?/p>

濂ヨ開A6 杞︿互涓撳埄鎶鏈搗鍔ㄤ簡銆鏈楂橀熷害涓猴細300
濂ヨ開A6 杞︿互涓撳埄鎶鏈仠杞︿簡

閫氳繃浣跨敤宸ュ巶鏂規硶妯″紡灝卞彲浠ュ皢瀵硅薄鐨勫垱寤哄歡榪熷埌瀛愮被榪涜瀹炰緥鍖栵紝鑰屼笖姣忎釜宸ュ巶鍒涘緩涓嶅悓鐨勫搧鐗岀殑姹借濺錛屾瘡涓苯杞︾殑鍔熻兘閮芥湁鑷繁“涓撳埄”鐨勫疄鐜幫紝榪欐牱鍙互灝嗕笉鍚?#8220;鍝佺墝”鐨?#8220;姹借濺”鐨勫垱寤鴻繘琛屽垎綾伙紝鏈夊埄浜庡璞″垱寤虹殑娓呮櫚鎬с傚垱寤轟笉鍚岀殑姹借濺鍙渶瑕佹敼鍔ㄨ繖鍙ヤ唬鐮佸氨鍙互浜嗭細
Icar_factory car_factory = new audi_car_factory_imple();

]]>
主站蜘蛛池模板: 亚洲精品天堂成人片AV在线播放 | 男人j进入女人j内部免费网站| 亚洲伊人色一综合网| 在线亚洲人成电影网站色www| 成**人免费一级毛片| 狼群影院在线观看免费观看直播| 日本永久免费a∨在线视频| 亚洲日韩中文字幕无码一区| 亚洲黄色免费观看| 亚洲午夜未满十八勿入网站2| 四虎影视永久免费观看| 成年女人毛片免费视频| 成视频年人黄网站免费视频| 久久免费国产视频| 最近免费mv在线观看动漫| www.av在线免费观看| 黄网站色成年片大免费高清 | 青青青青青青久久久免费观看| 亚洲免费网站在线观看| 免费日本一区二区| a在线观看免费视频| a级毛片免费高清毛片视频| 亚洲一区二区三区免费| 免费一区二区无码视频在线播放| 国产精品亚洲专区无码WEB| 亚洲精品无码永久在线观看男男| 中文字幕亚洲综合小综合在线| 亚洲欧洲国产视频| 亚洲国产美女精品久久| 亚洲第一页在线播放| 久久亚洲AV无码精品色午夜麻豆| 亚洲天堂视频在线观看| 久久丫精品国产亚洲av不卡| 亚洲欧洲日产国产综合网| 亚洲综合色丁香麻豆| 亚洲乱码一二三四区麻豆| 亚洲 日韩 色 图网站| 亚洲AV无码一区二区三区牲色 | 国产午夜无码视频免费网站| 国产免费资源高清小视频在线观看| 国产在线19禁免费观看|