Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

java Adapterģʽ


2009-08-19
תÔØ £º http://yahaitt.javaeye.com/blog/453032
java Adapterģʽ
¹Ø¼ü×Ö: android adapter
ͨ³££¬¿Í»§Àࣨclients of class£©Í¨¹ýÀàµÄ½Ó¿Ú·ÃÎÊËüÌṩµÄ·þÎñ¡£ÓÐʱ£¬ÏÖÓеÄÀࣨexisting class£©¿ÉÒÔÌṩ¿Í»§ÀàµÄ¹¦ÄÜÐèÒª£¬µ«ÊÇËüËùÌṩµÄ½Ó¿Ú²»Ò»¶¨ÊÇ¿Í»§ÀàËùÆÚÍûµÄ¡£ÕâÊÇÓÉÓÚÏÖÓеĽӿÚÌ«Ïêϸ»òÕßȱ·¦Ïêϸ»ò½Ó¿ÚµÄÃû³ÆÓë¿Í»§ÀàËù²éÕҵIJ»Í¬µÈÖî¶à²»Í¬Ô­Òòµ¼Öµġ£
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬ÏÖÓеĽӿÚÐèҪת»¯£¨convert£©Îª¿Í»§ÀàÆÚÍûµÄ½Ó¿Ú£¬ÕâÑù±£Ö¤Á˶ÔÏÖÓÐÀàµÄÖØÓá£Èç¹û²»½øÐÐÕâÑùµÄת»¯£¬¿Í»§Àà¾Í²»ÄÜÀûÓÃÏÖÓÐÀàËùÌṩµÄ¹¦ÄÜ¡£ÊÊÅäÆ÷ģʽ£¨Adapter Pattern£©¿ÉÒÔÍê³ÉÕâÑùµÄת»¯¡£ÊÊÅäÆ÷ģʽ½¨Ò鶨ÒåÒ»¸ö°ü×°À࣬°ü×°Óв»¼æÈݽӿڵĶÔÏó¡£Õâ¸ö°ü×°ÀàÖ¸µÄ¾ÍÊÇÊÊÅäÆ÷£¨Adapter£©£¬Ëü°ü×°µÄ¶ÔÏó¾ÍÊÇÊÊÅäÕß(Adaptee)¡£ÊÊÅäÆ÷Ìṩ¿Í»§ÀàÐèÒªµÄ½Ó¿Ú£¬ÊÊÅäÆ÷½Ó¿ÚµÄʵÏÖÊÇ°Ñ¿Í»§ÀàµÄÇëÇóת»¯Îª¶ÔÊÊÅäÕßµÄÏàÓ¦½Ó¿ÚµÄµ÷Ó᣻»¾ä»°Ëµ£ºµ±¿Í»§Ààµ÷ÓÃÊÊÅäÆ÷µÄ·½·¨Ê±£¬ÔÚÊÊÅäÆ÷ÀàµÄÄÚ²¿µ÷ÓÃÊÊÅäÕßÀàµÄ·½·¨£¬Õâ¸ö¹ý³Ì¶Ô¿Í»§ÀàÊÇ͸Ã÷µÄ£¬¿Í»§Àಢ²»Ö±½Ó·ÃÎÊÊÊÅäÕßÀà¡£Òò´Ë£¬ÊÊÅäÆ÷¿ÉÒÔʹÓÉÓÚ½Ó¿Ú²»¼æÈݶø²»Äܽ»»¥µÄÀà¿ÉÒÔÒ»Æð¹¤×÷£¨work together£©¡£
¡¡¡¡ÔÚÉÏÃæÌÖÂ۵Ľӿڣº
¡¡¡¡£¨1£©     ²»ÊÇÖ¸ÔÚJAVA±à³ÌÓïÑÔÖнӿڵĸÅÄËäÈ»ÀàµÄ½Ó¿Ú¿ÉÒÔͨ¹ýJAVA½èÀ©À´¶¨Òå¡£
¡¡¡¡£¨2£©     ²»ÊÇÖ¸ÓÉ´°ÌåºÍGUI¿Ø¼þËù×é³ÉµÄGUIÓ¦ÓóÌÐòµÄÓû§½Ó¿Ú¡£
¡¡¡¡£¨3£©     ¶øÊÇÖ¸ÀàËù±©Â¶µÄ£¬±»ÆäËûÀàµ÷Óõıà³Ì½Ó¿Ú£¬
¡¡¡¡ÀàÊÊÅäÆ÷£¨Class Adapter£©VS¶ÔÏóÊÊÅäÆ÷(Object Adapter)
¡¡¡¡ÊÊÅäÆ÷×ÜÌåÉÏ¿ÉÒÔ·ÖΪÁ½ÀࣺÀàÊÊÅäÆ÷£¨Class Adapter£©VS¶ÔÏóÊÊÅäÆ÷(Object Adapter)
   
¡¡ÀàÊÊÅäÆ÷£º
¡¡¡¡ÀàÊÊÅäÆ÷ÊÇͨ¹ý¼Ì³ÐÀàÊÊÅäÕßÀࣨAdaptee Class£©ÊµÏֵģ¬ÁíÍâÀàÊÊÅäÆ÷ʵÏÖ¿Í»§ÀàËùÐèÒªµÄ½Ó¿Ú¡£µ±¿Í»§¶ÔÏóµ÷ÓÃÊÊÅäÆ÷Àà·½·¨µÄʱºò£¬ÊÊÅäÆ÷ÄÚ²¿µ÷ÓÃËüËù¼Ì³ÐµÄÊÊÅäÕߵķ½·¨¡£
   
¡¡¶ÔÏóÊÊÅäÆ÷£º
¡¡¡¡¶ÔÏóÊÊÅäÆ÷°üº¬Ò»¸öÊÊÅäÆ÷ÕßµÄÒýÓã¨reference£©£¬ÓëÀàÊÊÅäÆ÷Ïàͬ£¬¶ÔÏóÊÊÅäÆ÷ҲʵÏÖÁË¿Í»§ÀàÐèÒªµÄ½Ó¿Ú¡£µ±¿Í»§¶ÔÏóµ÷ÓöÔÏóÊÊÅäÆ÷µÄ·½·¨µÄʱºò£¬¶ÔÏóÊÊÅäÆ÷µ÷ËüËù°üº¬µÄÊÊÅäÆ÷ÕßʵÀýµÄÊʵ±·½·¨¡£
¡¡¡¡Ï±íÊÇÀàÊÊÅäÆ÷£¨Class Adapter£©ºÍ¶ÔÏóÊÊÅäÆ÷(Object Adapter)µÄÏêϸ²»Í¬£º
¡¡¡¡²¹³ä£º
¡¡¡¡ÀàÊÊÅäÆ÷£¨Class Adapter£©   


Ïà¹ØÎĵµ£º

ÈÕÆÚÀà¼Ó¼õ¼°JavaÖÐÈÕÆÚÀà²Ù×÷Ëã·¨´óÈ«

1.¼ÆËãijһÔ·ݵÄ×î´óÌìÊý
1Calendar time=Calendar.getInstance();
2time.clear();
3time.set(Calendar.YEAR,year); //year Ϊ int
4time.set(Calendar.MONTH,i-1);//×¢Òâ,Calendar¶ÔÏóĬÈÏÒ»ÔÂΪ0
5int day=time.getActualMaximum(Calendar.DAY_OF_MONTH);//±¾Ô·ݵÄÌìÊý
×¢£ºÔÚʹÓÃset·½·¨Ö®Ç°£¬±ØÐë ......

JAVA ÄÚ²¿ÀàµÄ¼òµ¥×ܽá

¶¨ÒåÔÚÒ»¸öÀàÄÚ²¿µÄÀà½ÐÄÚ²¿À࣬°üº¬ÄÚ²¿ÀàµÄÀà³ÆΪÍⲿÀà¡£ÄÚ²¿Àà¿ÉÒÔÉùÃ÷public¡¢protected¡¢privateµÈ·ÃÎÊÏÞÖÆ£¬¿ÉÒÔÉùÃ÷ΪabstractµÄ¹©ÆäËûÄÚ²¿Àà»òÍⲿÀà¼Ì³ÐÓëÀ©Õ¹£¬»òÕßÉùÃ÷Ϊstatic¡¢finalµÄ£¬Ò²¿ÉÒÔʵÏÖÌض¨µÄ½Ó¿Ú¡£staticµÄÄÚ²¿ÀàÐÐΪÉÏÏóÒ»¸ö¶ÀÁ¢µÄÀ࣬·ÇstaticÔÚÐÐΪÉÏÀàËÆÀàµÄÊôÐÔ»ò·½·¨ÇÒ½ûÖ¹ÉùÃ÷staticµÄ·½· ......

JAVAµÄ²ÎÊý´«µÝ»úÖÆ

²ÎÊý´«µÝ»úÖÆÖ÷ÒªÓÐÁ½ÖÖ£ºÖµµ÷ÓÃ(call-by-value)£¬ÒýÓõ÷ÓÃ(call-by-reference)¡£
Öµµ÷ÓÃ(call-by-value)£º»á¶ÔʵÔÚ²ÎÊýÇóÖµ£¨Èç¹ûÊDZí´ïʽ£©»ò¿½±´£¨Èç¹ûÊDZäÁ¿£©¡£ÕâЩֵ±»·ÅÔÚÊôÓÚ±»µ÷Óùý³ÌµÄÏìÓ¦ÐÎʽ²ÎÊýµÄÄÚ´æλÖÃÉÏ¡£
ÒýÓõ÷ÓÃ(call-by-reference)£ºÊµÔÚ²ÎÊýµÄµØÖ·×÷ΪÏàÓ¦µÄÐÎʽ²ÎÊýµÄÖµ±»´«µÝ¸ø±»µ÷ÓÃÕß¡£ÔÚ±»µ÷ ......

JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾

JAVA¿ª·¢Õß×ȥµÄ20¸öÓ¢ÎÄÍøÕ¾
1.[http://www.javaalmanac.com] – Java¿ª·¢ÕßÄê¼øÒ»ÊéµÄÔÚÏß°æ±¾. ÒªÏë¿ìËٲ鵽ijÖÖJava¼¼ÇɵÄÓ÷¨¼°Ê¾Àý´úÂë, ÕâÊÇÒ»¸ö²»´íµÄÈ¥´¦.
2.[http://www.onjava.com] – O’ReillyµÄJavaÍøÕ¾. ÿÖܶ¼ÓÐÐÂÎÄÕÂ.
3.[http://java.sun.com] – ¹Ù·½µÄJava¿ª·¢ÕßÍøÕ¾ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ