JavaÉè¼Æģʽ֮¹¤³§Ä£Ê½
A:
Éè¼Æģʽ֮Factory(¼òµ¥¹¤³§Ä£Ê½¡¢¹¤³§·½·¨ºÍ³éÏ󹤳§)
Á˽ⷴÉ䣺
Class.forName().newInstance();
1.¼òµ¥¹¤³§·½·¨
½ÇÉ«£º
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
Ò»¸ö²úÒµ½á¹¹µ¥Ò»£¬Ö»×¨ÃÅÒ»¸ö²úÆ·ÁìÓòµÄС¹¤³§£¬ÈçÈí¼þ¡£
2¹¤³§·½·¨
½ÇÉ«£º
³éÏ󹤳§£º²»×ö¾ßÌåµÄ¹¤×÷£¬Íê³ÉÉú²ú²úÆ·Ëù±ØÐëµÄ¹¤×÷£¬È磺ÉêÃ÷²úȨ
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
¹«Ë¾ÔÚ·¢Õ¹£¬¿ªÊ¼Éú²ú²»Í¬ÁìÓòµÄ²úÆ·£¬ÈçÈí¼þºÍÓ²¼þ¡£
3³éÏ󹤳§·½·¨
½ÇÉ«£º
²úÆ·×壺²»Í¬ÁìÓò²úÆ·µÄ×éºÏ£¬Æ©È磺¼ÆËã»ú²úÆ·
³éÏ󹤳§
¾ßÌ幤³§
³éÏó²úÆ·
¾ßÌå²úÆ·
±ÈÓ÷£º
Æóҵ׳´ó£¬¿ªÊ¼ÈÚºÏ×Ô¼ºµÄ²úÆ·£¬Èç¾¼ÃÐÔ¼ÆËã»ú¡¢ÉÌÒµÐÔ¼ÆËã»úµÈµÈ£¬ÆäÖÐÿ¸ö¾ßÌ幤³§Ö»Éú²ú×Ô¼º²úÆ·×åµÄ²úÆ·¡£
ÏÂÃæÊÇÏêϸ½²½âºÍСÀý×Ó£º
×¢ÒâÀí½âÉÏÃæµÄ±ÈÓ÷£¬¸üÓÐÀûÓÚÀí½â¹¤³§Ä£Ê½£¨Factory£©
1.Simple Factory
ÊÊÓÃÇé¿ö£º
Ò»°ãÇé¿öÏ£¬¼òµ¥¹¤³§Ê¹ÓÃÓÚÀàµÄ·ÖÀ಻̫Ã÷ÏÔ£¬Àà¹Øϵµ¥Ò»£¬ÖÖÀ಻¶à£¬¶øÇÒ²»¾³£¸üеÄÇé¿ö£¬µ±È»£¬ÎÒÒ²ÊdzõѧÕߣ¬²»ÄÜ¿¼Âǵ½·½·½ÃæÃ棬ÔÚÇ°½øÖÐÑ°ÕÒ°É£¡
Óŵ㣺
·½±ã´´½¨¶àÖÖ¶ÔÏ󣬲»Ò×»ìÏý£¬Âß¼ÇåÎú¡£
ȱµã£º
¹¤³§ÀàµÄ¹¤×÷»áËæ×ÅÀàÖÖÀàµÄÔö¼Ó¶ø¼ÓÖØ¡£
Àý×Ó´úÂ루ע£º´úÂëÊÇûÓÐʵ¼ÊÒâÒåµÄ£¬Ã»ÓÐÔËÐеıØÒª£¬¿ÉÄÜ´æÔÚÓï·¨´íÎ󣩣º
СÆóÒµ£ºÉú²úµçÄÔÓ²¼þCPU£¬ÈçCPUa,CPUb,CPUc·Ö±ð´ú±íÈý¸öÖÖÀàµÄCPU
public abstract class CPU{
}
public class CPUa extends CPU{
public void getInfo() {
System.out.println("CPUa");
}
}
public class CPUb extends CPU{
public void getInfo() {
System.out.println("CPUb");
}
}
public class CPUc extends CPU{
public void getInfo() {
System.out.println("CPUc");
}
}
¾ßÌåµÄ¹¤³§Àࣺ
Public class CPUFactory {
Public static CPU produceCPU(Type t){ //Ò»°ãÖ»ÓÃÓÚ·µ»ØжÔÏó£¬ËùÒÔÒ»°ã·½·¨Îªstatic£¬±ãÓÚʹÓã¬Ìá¸ßЧÂÊ
If(t==a)
Return new CPUa();
If(t==b)
Return new CUPb();
If(t==c)
Rerurn new CPUc();
}
}
¿Í»§¶ËʹÓ
Ïà¹ØÎĵµ£º
ʵÏÖ²½Ö裺
1.×Ô¶¨ÒåÒ»¸öJavaÀ࣬¸ÃJavaÀàÖж¨ÒåÒ»¸ö·½·¨À´°üº¬ÐèÒª±»ÔËÐеĴúÂë¡£
2.¶¯Ì¬±àÒë¸Õ¸ÕÉú³ÉµÄJavaÔ´Â룬²»ÔÚ´ÅÅÌÉÏÉú³ÉÔ´Â룬¶øÊÇÖ±½Ó±àÒëÄÚ´æÖеÄJavaÔ´Âë¡£
3.¶¯Ì¬¼ÓÔظոմ´½¨±àÒëµÄJava¶þ½øÖÆÂ룬±àÒëºÃµÄJava¶þ½øÖÆÂë²»ÊÇÔÚ´ÅÅÌÉÏ£¬¶øÊÇ·ÅÔÚÄÚ´æÖУ¬²¢¶¨Òå×Ô¼ºµÄÀà¼ÓÔØÆ÷£¬¸ºÔð¼ÓÔØÄÚ´æÖеÄclassÎļþ¡£
......
1.×î¼òµ¥µÄͼÐΣ¬Ò»¸öÏûÏ¢¿ò
import javax.swing.JOptionPane;
//±íÃ÷³ÌÐòʹÓÃjavax.swing°üµÄJOptionPaneÀà
public class Dialog1{
public static void main(String[] args) {
// TODO Auto-generated method stub
&n ......
ÓÃJava½Ó¿ÚʵÏֻص÷º¯ÊýµÄµÈ¼Û¹¦ÄÜ
Ê×ÏÈ£¬¿´Ò»Ï»ص÷º¯ÊýµÄ¶¨Òå¼°ÆðÔ´£º
¼ò¶øÑÔÖ®£¬»Øµ÷º¯Êý¾ÍÊÇÒ»¸öͨ¹ýº¯ÊýÖ¸Õëµ÷Óõĺ¯Êý£¬Èç¹ûÄã°Ñº¯ÊýµÄÖ¸Õë(µØÖ·)×÷Ϊ²ÎÊý´«µÝ¸øÁíÒ»¸öº¯Êý£¬µ±Õâ¸öÖ¸Õë±»ÓÃΪµ÷ÓÃËüËùÖ¸ÏòµÄº¯Êýʱ£¬ÎÒÃǾÍ˵Êǻص÷º¯Êý¡£
ΪʲôҪʹÓûص÷º¯Êý£¿
ÒòΪ¿ÉÒ԰ѵ÷ÓÃÕßÓë±»µ÷ÓÃÕß·Ö¿ª¡£µ÷ÓÃÕß²»¹ØÐı» ......
JAVA³ÌÐò·´±àÒ빤¾ß
ÏÂÔصØÖ·£ºhttp://java.decompiler.free.fr/?q=jdgui
JD-GUI
JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.
JD-GUI is fre ......