From 5832b4fe9dd6717825d0e8d5768b7c78601a459c Mon Sep 17 00:00:00 2001 From: dichgrem Date: Fri, 28 Nov 2025 16:59:17 +0800 Subject: [PATCH] update:demo4 --- .gitignore | 94 ++++++++++++++++++++ com/study/demo/test3_1.class | Bin 1101 -> 0 bytes com/study/demo/test3_2.class | Bin 785 -> 0 bytes com/study/demo/test3_3.class | Bin 821 -> 0 bytes com/study/demo/test3_4.class | Bin 1144 -> 0 bytes com/study/demo/test3_5.class | Bin 999 -> 0 bytes com/study/demo3/Bicycle.class | Bin 426 -> 0 bytes com/study/demo3/Book.class | Bin 1462 -> 0 bytes com/study/demo3/Car.class | Bin 417 -> 0 bytes com/study/demo3/EBook.class | Bin 1013 -> 0 bytes com/study/demo3/Library.class | Bin 1700 -> 0 bytes com/study/demo3/LibraryTest.class | Bin 1862 -> 0 bytes com/study/demo3/Main2.class | Bin 733 -> 0 bytes com/study/demo3/PrintedBook.class | Bin 1017 -> 0 bytes com/study/demo3/StudentManager.class | Bin 1550 -> 0 bytes com/study/demo3/Train.class | Bin 423 -> 0 bytes com/study/demo3/Vehicle.class | Bin 626 -> 0 bytes com/study/demo4/AlipayPayment.java | 9 ++ com/study/demo4/BikeDeliveryCalculator.java | 11 +++ com/study/demo4/Cardeliverycalculator.java | 12 +++ com/study/demo4/CreditCardPayment.java | 9 ++ com/study/demo4/DeliveryFeeCalculator.java | 5 ++ com/study/demo4/HomeAppliance.java | 26 ++++++ com/study/demo4/HomeController.java | 21 +++++ com/study/demo4/PaymentFactory.java | 16 ++++ com/study/demo4/PaymentProcessor.java | 6 ++ com/study/demo4/SmartAirConditioner.java | 7 ++ com/study/demo4/SmartDevice.java | 7 ++ com/study/demo4/SmartLight.java | 7 ++ com/study/demo4/SmartMasher.java | 7 ++ com/study/demo4/TestControl.java | 31 +++++++ com/study/demo4/TestPay.java | 8 ++ com/study/demo4/TestTransport.java | 22 +++++ com/study/demo4/WechatPayment.java | 9 ++ 34 files changed, 307 insertions(+) delete mode 100644 com/study/demo/test3_1.class delete mode 100644 com/study/demo/test3_2.class delete mode 100644 com/study/demo/test3_3.class delete mode 100644 com/study/demo/test3_4.class delete mode 100644 com/study/demo/test3_5.class delete mode 100644 com/study/demo3/Bicycle.class delete mode 100644 com/study/demo3/Book.class delete mode 100644 com/study/demo3/Car.class delete mode 100644 com/study/demo3/EBook.class delete mode 100644 com/study/demo3/Library.class delete mode 100644 com/study/demo3/LibraryTest.class delete mode 100644 com/study/demo3/Main2.class delete mode 100644 com/study/demo3/PrintedBook.class delete mode 100644 com/study/demo3/StudentManager.class delete mode 100644 com/study/demo3/Train.class delete mode 100644 com/study/demo3/Vehicle.class create mode 100644 com/study/demo4/AlipayPayment.java create mode 100644 com/study/demo4/BikeDeliveryCalculator.java create mode 100644 com/study/demo4/Cardeliverycalculator.java create mode 100644 com/study/demo4/CreditCardPayment.java create mode 100644 com/study/demo4/DeliveryFeeCalculator.java create mode 100644 com/study/demo4/HomeAppliance.java create mode 100644 com/study/demo4/HomeController.java create mode 100644 com/study/demo4/PaymentFactory.java create mode 100644 com/study/demo4/PaymentProcessor.java create mode 100644 com/study/demo4/SmartAirConditioner.java create mode 100644 com/study/demo4/SmartDevice.java create mode 100644 com/study/demo4/SmartLight.java create mode 100644 com/study/demo4/SmartMasher.java create mode 100644 com/study/demo4/TestControl.java create mode 100644 com/study/demo4/TestPay.java create mode 100644 com/study/demo4/TestTransport.java create mode 100644 com/study/demo4/WechatPayment.java diff --git a/.gitignore b/.gitignore index 8c9e901..775deb8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,95 @@ +### Compiled class files +*.class + +### Log files +*.log + +### BlueJ files +*.ctxt + +### Mobile Tools for Java (J2ME) +.mtj.tmp/ + +### Package Files +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +### VM crash logs +hs_err_pid* +replay_pid* + +# ======================== +# Maven +# ======================== +target/ +pom.xml.tag +pom.xml.releaseBackup +pom.xml.versionsBackup +pom.xml.next +release.properties +dependency-reduced-pom.xml +buildNumber.properties +.mvn/timing.properties +.mvn/wrapper/maven-wrapper.jar + +# ======================== +# Gradle +# ======================== +.gradle/ +build/ +!gradle-wrapper.jar +!*/src/main/**/build/ +!*/src/test/**/build/ + +### Avoid ignoring Gradle wrapper +gradle-app.setting + +# ======================== +# IntelliJ IDEA +# ======================== +.idea/ +*.iml +*.ipr +*.iws +out/ + +# ======================== +# Eclipse +# ======================== +.project +.classpath +.cproject +.settings/ +bin/ +tmp/ + +# ======================== +# NetBeans +# ======================== +nbproject/private/ +nbbuild/ +dist/ +nbdist/ +.nb-gradle/ + +# ======================== +# VS Code +# ======================== +.vscode/ + +# ======================== +# OS files +# ======================== +# macOS +.DS_Store + +# Windows +Thumbs.db + +#local com/study/test/ diff --git a/com/study/demo/test3_1.class b/com/study/demo/test3_1.class deleted file mode 100644 index 8a09b0324f56277c50f6d35e78b7f55adb246df3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1101 zcmaJ=O-~b16g_V`(>EQ4j{*hMq9CFz*p7UN9~4k9#wJLOH3Y)K44nxXY-gG>V`T5j zmHq?6hP5n8BE}!!!o9!3Ju%k%+7he~XK~+s_uhBjx#zz5_WSc!0MmG+p$kJC!x3D? zhz1GQgc%jv>l`;Ua105PP?1zICfsphZfZy&&0%odVhCp(*YW2WLW$%mgS_NfHbdvK z^~x zlN?jTg=3mQ%X>kkU_W*QobKB@{?yBfv;fl)MK?pV4jlMS(a0A}*R?Agw{^_mjwraR z;~wtom_>%6|6dM^fm5{XijFx@FJNFp!e7ww01t_TjzugH{eo9AcKpEFH7vX28BG=p zU8jJ#&278jGxVI(DTB0;rBuDz@r-BGzfUUIW~l|EAxvv%cgMG>N)j^08X^)x)-4B3 zgjt4x#JLF}Fn8@Ye%2*oG%4Z`@&fWtf&QXGKw-07wq1)Mp2#N8OsuIE)uoyjwv6*X z^{Vfk^wyg=3rvVgS!hDc&O=_sFgoeoicg{`(cH=Q&~8x7j8`%pDwMhS7i}dpBgf?U9-^t3EP}bWGTX2HY=o8K9!4pV zo>9oA;<6Q!t#q#G#G1uFPB1195IzE5KZGg{RS_X*+4=~zTib`y-ByKOMSB$;^-I1B z+EShNJaq~B*V>>`w-JhI)L|P&X&py9z3C2QsOAY}pVNMgbTFy8ceK8zR{QDn8q^v& x3daD)1;%la^f^Y)FG%bdNwL&0(wdhzE^)+bq*TkfP$SMUcuY4lT&^>{@(1=_>remy diff --git a/com/study/demo/test3_2.class b/com/study/demo/test3_2.class deleted file mode 100644 index 5ba259a98cd14fe1697094d6f0ae05bb3403065a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 785 zcmZuuO>fgc5Pj>|-o`bw`EW=|3bcGBDTxuFNKoKVBt%4Lky2GcJ%Hm_#U-{wvPSgY zU&4hmJ+u-aegMCO6P&nIK$&%^Qlwh;zS*}kZ{Li+{`vR?z%4Wkq*35FlSUCG0}5v3 za#n8324-=N<2=U&2K}xd`rzpu>27+iV91?dm_b=@{g>U@8VN5TUN&hRw&+K8D;&gvy7Zi2k)c>Q@j$lEL+`C< zg>)ayk)%^mOz~LgDGh2YluK-q{xO;~1~REn2GmNcx`sJS&|j2~0-7TxX*Fp#OUMYd z+8)>k3TXPY>W3tioW>NzGW91^aKhmyD9?6~+Jo9&*oAhl{MlHh?~a;kYL-@hhfLkl zt$7vWz1~ ZFU?^exnEG&KJvezF~S*YKA&7~{RLyjpMU@W diff --git a/com/study/demo/test3_3.class b/com/study/demo/test3_3.class deleted file mode 100644 index 0f74550c92bbcc2672cb691175d5fb9d65ed6790..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 821 zcmZuuL2nXK5dI##-3QB7O6gKms7?`NOC0a(SV1`Trp**LD^nuZ9j z%Oj^@9ycU*Q^PGR2rLTRW>6oyz8gGch?@B(1ApG@I1I^}>pSbA*K!80?N*l%?%A%- zkTJJvd-glq>e~K})d&Wzzq2M2ry7CXep9#mW4^#0QXsIzpf!5opzXYHWfeVehCz9| zT#_|(B%m{-#`VI$?OKht?fcF^;I58)FeM?cV;Kd3`#Op!>9FuXU`5A6lu1py=UKxb z>>OAf$Lm>tsxwSaG;Xx^oOZyFzC<`fWUKlgyKyiK9FK50tZ^}_+q0^EKMZJE$M)73 zvgV}$xd!1o`$5&GezZ?2ePtq~ZU?&rd-gtqVpgj%9PNcfo%DG{`<(PikCUnWKQOiE zOH!BgakH9lVgYe_ars5S=M{xlR70hpSv1rV{k&6pkN8Mo zhe#USP(DE&^F}J={P>F;K^XiPF)1rDmi3IpfJ7t^BQK6wnrWVHOJoZqa)nrrNb*aH z)-i)7(%2+y8yW0k4t->iq6&*p&*`cN%m}2Jz%1?H6zMa>7-QMQDHIyo828Qm1~-nQ Az5oCK diff --git a/com/study/demo/test3_4.class b/com/study/demo/test3_4.class deleted file mode 100644 index 04b1e71c03083b1386121824c045f1b18400d7d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1144 zcmaJ>O-~b16g{tuoU2khzENn{pR_fJb zD;MB7CP*R2ZBoNA$)F{(g?!3cas`*}J3IdP%ZX9Jq@x`j46Olc!FSVUGG%$5ljpdj z<1X$Az?6<@%#g^9jf9R_klwD-G8PJM+II3f?&ARi7+9~!=XES#k)-H&h(|h>#M?Sk z*^Ig47wlcrb~0JBE{GxWk9Bo(+e!Hh?dR;6ssYf=nrmc%PewRa=EU-vHz!NGJHA7x zkZ{td`A7^2FIT8DOfz)H&us{gx#zs`6CP=zVI?SL3zYvOIwpmP6f2i=JewgJPYj+J zTHP(ejnrRwVxs@StA6(H-a6uEiHT9p2~SAbdCX!TK|k%G53O{V#TBA?(K(=K&{IrI zkM8nN8SFD9G%<=wt%wG6p__7ovS*OMsrTU!q4fiV%aB%vOOR(pn2W}~K?zMs;Yrz$ zqkHHNPb!8I+k?>~8S^!A-CxzG?ma?LQ7Gp?pJ>hzJy3XR~F(!f%pYPDCcOT?=V7JFrd*s8!-T# zzQ-my-#X^$d6~Lv?$hI25w#2r8?fs{;85 oA$A0fRq1EIkAvvkaYQ*{RkH3>CtT}rT&keCLMj+82g-Z@0Qwa6od5s; diff --git a/com/study/demo/test3_5.class b/com/study/demo/test3_5.class deleted file mode 100644 index 596c796468b032e74f38b0cf44def7f27da325e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 999 zcmZ`%O-~b16g_Xg-gFp&0*?OXShY zt{*V;C)cu@?h7|va)XU@F0A^&#=In6%7t#>*?o5_!gGw%ZQMZ8#uTPGW^CNVEM-xsl+)W` zt+sRip;soqEK;;e^egF1uvH7GO3y9N zGYlp#49N0%;Jpkp0o_M^Bx$u$qkUWG0X3>E)ElKq`e)pvu_ZwzNe4c)6fK!i5bjyFA`ZY|aNoqri>>M>^k=n9EHj6kOq6d%BhcyV~3H=-ccun>V zhVYh{btG^|_6tVw9b@=G)99ufUcqjX%ixG}^e~QIdTAI(5XVs15&D|Mik%NL79mDD ZkD;^w#1%#nT*Op~euS8ueqU6tI03=TzViS8 diff --git a/com/study/demo3/Bicycle.class b/com/study/demo3/Bicycle.class deleted file mode 100644 index 8cb01076a90387ec326d4380ab3b9aa0cba246f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 426 zcmZutyH3ME5S(-3_<DuNf|(HsNlbguGgAUaHn7X6MX uGs^nuJJ<^qbPbA)3M{D`f7Fvo3Rthu+O;>-|LHchN|8y{!$Q diff --git a/com/study/demo3/Book.class b/com/study/demo3/Book.class deleted file mode 100644 index 3c8d5f26b18c4153e2f7d478a17d1ee870cd457c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1462 zcma)6ZBNrs7(Ly(w^H7>fdX1kWGgQdP(VZ!OiV}+O-4-Qi*{>+g{@t-PQ%~uqkq6J zeo!NjXyOm>M;Xs;C+sc8FVB7Y+;dOQd7j(;`u+VUfIHYy(2r~aeb7ai6=5!cc`U?` zQxHW~gxhf}#<3*QWre5i#<3E^Y7A=yBn<5y8E=hT$#4#Hd9P|ahxa8!JliW- z5)$09OGZKD(t(8NhV9tiri5@N`+^jYU6VWgyS8KP)yoB|x*uR?GM%iQ6+w~tFXVxM z#ttoS$Jd<9WINdisQm?`y08k0I4Sl6YjJ`bX^&moy7WnFbgFW@sVHZB2};%S>Q!gk zb&nvqYsswy_{fP%HmPJVlDU6YW_YHy61RnqU%=MYo)*d3Ez7XIf=wIrwwrs-yW{Z&Sw@+@qDG}+Ii`g9Zlma!Uc)sH#yvNG$&BKNa`gbr!R*4o+A#D@|LqGcji7|zgh2K6Im{|)WEfC`f#|H=eoS^@v3P_f3i Uj#vC@ZxJCQv^qmQGd?==2XvSZcmMzZ diff --git a/com/study/demo3/Car.class b/com/study/demo3/Car.class deleted file mode 100644 index 7a34b2785118b0b21d2472f80f7b72a40fc4c5f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 417 zcmZut%Sr=55Uj~#U#=!5#`uJI5E2jWL2nT+0Z&1Mgxn{)Lo%|DFgq*cv-F_g!4L4G z#GVZ(h;!)fsjlj3`t$4k1Hd&-JXqLq(LmF|u7?)dHuh|E7_1waN`1>v?GI)QwNVxc zhQ?T?;=V}cLQVNRCZwKgt~7%;$qE&UJ83{?#MR{^f8suDI5zfubaBAYnl42zMAc%Ro2qx=Xi-dN~3RQe1mvUMc-r_=^vJ@@|j`Sm-16|84b#5|iz8ECjH<4P7O%qys}*BPuS zFxW3BFd1A_u*A8=$yEi{*k6~iEMrALdExk=x&mrcRetrf zQQx|!;wEmXxQ#os2(!HHhMq&gCrzxwD7mON1 zh|dx6EZHp40hvCh64B3%=q8dR0I0@-IYh#!eL?cDDo>}t1SI5A}sMbVIqJYI>11*BZ*6T^;5C(>steFX`d2;zP z`V0E1u1XiOmdj^cT}_ zOJM|Wr*R!Oy6_I(P2#;2ZemVLZW+j@kcO4Sy#BtgZ5Q<42L?V&p&ynuTTEjK%V~Us z+xl2B@Ub?$lg27OF>u#FL7=1P`}?6lZ(&a!N~;<PoL{ZAO9PmGgy?e_(}C)vj5#I`FSsON^UeV4Ti*$8(|uf%xRq1A)Y{Z!=95LPrWIn{!? z;Dk}$z`B8Z0@;^T^XF&O_*0vHH7KbSM}ssAPBD-{ZC0~oB7<>({w8yGWVlOgCSJj1 z6Zf%U;8PQu*fQ{$i3iwb?yX&w(WGaj8z^blGU_q0h0__eD40o!oTf3Dp@fE%{@eMXie2Wc%3r(<# zK_F|I7ZVai10@qS6bUl1gR+TTI3)MHzM9xWnPi&S#}d&NCfirPet z(GlorV$yKfx~5FyYVmfPI3m0ruchieK5J;DNFOrTI-c>b$p~;q^ zZGg#7J!;2O3nO*FLG`NyG1RbkeCs|ZJR(>n516LGV7r*;D%!{;y0%28+o2~nUeQr+ zo&)0?U@wcfNU~B)D z*>_zw%JDsV4mK%m${EFZ(Usvg=d*6n)!3Ecx_Zo#x%cEb;ngqgy*up#d*y^L_Lm+U zWsLI`yu{a0@JZx4@%t)oF6#ZUPj@gAeY*J@=k_?)mur&b|Bd zKR<2*IDAAWxFF-Aj3l<}pKe70b7DwJxGG^jh#s7k@r;nq1`$R|Mq0?{WGo2f^CHj- zG8QE)NmynGoHtCvy~xlUi7qhsE?GIw(4H_%o-7qI+)nG6JZXFd-7p!tBFl+2{kk5{ z>*h*4<=Te1GA0flNx6D2kuWm0ZkN;C zaR-G%1&<)Y(4DmkamOv?%JCd8SR?Ve9Yg2Ao#{!-TBpROhlYk3TCb23ZBloPtRsBA zqTp5N47~@B%~Q%Q&(#mldxzVnxMQrC+Pv<%+%`Q283kG7Bya`Su);7LjKyMF^}TPZ zZ+`OEhi_Lu-u`{_i|VZp{`~Z|7NOWiUI3+C&|JI3qZ%1YSXE$PO~E?ygo1(s2*SRk zrDZ5}N7HStWlOfrO*dcG_IzBkY%Oo;=AZ%#MFLO3YcLhqa2P@d3#wJpeUO#Ol9A7G zo1rPDDR5Cza2+=oWGynAnoN$8@}^j`sDd(XD0p4q-|toV$6KFOKYvH#!&>$IcN>>X z^)&$Z9#)Cty_BwI)_B%sIM$$h7}`9;l56CNZimd&J;f{$qPrH=5s4h`yu+F)(Ts}2 z-H9Das6`@6Li^tw%nDOU&(%9597!|+-0S&!3QUz9mlx<3StZK9vzC`(#l3E$Yr^%y z7?tnUwO>uailQa+)Eb=)N)+jY9Io5h)!mW=<CNS|>&={rFNs^4Dzi$KVJDSi9 zqcPwqeP}^H253&E>^5m7k{w%UTHHW$Vhg@S)vpFZkT%dVH_%)`a0{)As-hkVY@jXK zKTtt?e{5&?9v$k@3e^4zj*a@lzD wQ_#oSiGdh-?Sua=9q>ySln|FNBw<*>qre@=5=Q>UbJqRzzK(%Npfi0x>Fyr-CLWB!<(r-Qbe$F4=BPdi3B$ zFJAEE$&(jD)CkcgegMA*ji18!rW`8OO=jNgoA>)OZ|3Lk?>_*n;FiP~iUux9XbPt# zbcHh#X%w@#gxL%(OI$%o;wt7cxTbL4z;y#R1k!7M=qL9CMy!Qx0ewAccmiV;KlC=+ zLCuS|+**^29=LueaKYNC?77cfr|E{fPBn@BaCcP&%4*b(>)s<@iL)CNFDspiJjMmi z*Q3B`CGAGXX?Q_&$60q{fvI8kpHq@y!BHRA_Ply> zhN^a2i5JkhsLhSSsV{!yJfSHGt?}Gol}GRAI7n+k58s%}KQq zH)ch>l|=iz%X54I>eImXFwS{`f3rkEOf4QmeBy$wa8CD04OvX0z_pUTWT;Mj(1rH& z7$cP~bYg0wi!{;L{EW;*_6Tz62%}{Vn?rHtDVHOcBbOVLxeb#EQ^>Gj9tMh#C}9-y a$*|~76f%nH&E%ypelF;Z!0|KtZv za7#4t2l%6m=d_DVhKXO!@85~*_yrR_$IqyrVD9!l>IAQ=fI3X>WF z^G0Q|j)2+-``woN(&Of{uc%+-I<+u7+~6@ZEMSqvT@CZND6n{TxLV)y9k(l>kL8x$ z)f=_F#~SY8zJ>>QNV8Q-`(EU`1U?%1@$4~aTR^Lpo*&zu&sQL92XTPzCEjbehLS*` z6?Uv%)OS8wj@t=0t+9r*-q|ScAh7yh=j3b3_R*0WI0EbEq)eV}v^PyIdA(*p`=58+ zOvF12EYWjJ#7|4)=+w#TwC@4a5B^O@nLgYceOZANKMGkHvgx5nULvndS}JTZj_!a5XtUN_21{u?sLY{I8SQ=#(Nhgg?kp4t8 z0d6G6piZ)gt0Z}*WopjtWwY>C`DCaC+JL90cOLQI5SvRs`wr>t5E)$_AZwmLA*JUM kTV;DHvC{)+`gCIF2bj@k$sXXsXR0wiRe`)RVJR&C1}MkPs{jB1 diff --git a/com/study/demo3/StudentManager.class b/com/study/demo3/StudentManager.class deleted file mode 100644 index 4e069668fcddeae864df6c6c3834cf8e8184dfac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1550 zcmZux-*XdH7(F*hbGMsqn{0nTi$GApv}qa@RA>}rAjSOF8@SQ1S1w&85v_z_s zpA)4E#$1jfzPw>t3NUm^39zZ`!V8g=HrV%a|9XF-fIiANJFcLtC-UT>Mn2WGp1ivds|Mik>sd*NLA> zu08o>{m~-j(2ziq0`}(iGz~V#^KU=GTpKO5CFC z^hY5Be3rB6YvG+fXsRL1yddPE9kjc>+JyU!Vo_LRcg%gGRiVq9MyS~^R8<>(2QRnd z6}!*~F|=3S%!LDZfnFl{^MJYy`)Lf*ZZFM@=8lnvV1LkpdYwkU6ZD}IFXAOyhv{Gp zUUbmevo&}wJ%l&01|Q8G$*AtHf_pF<)s@zwv#}V}{lS?>P^$=dF*~X&!K7=~8O&_% z{)DD?t)e?xMGr$NRz;BE2Mp38#PApNaUVejeFVAp@4Doj+`LP>DtbMH>PtzUege_F zh5@Q?m%e+IXjU<_iam57MS2{OlL$Fd6>tPe>L65-8$c9YIEHSVMGs~Oa}_#np%=I5 rq5hKI*zd3#cM1I~hVT@7@G`N4;CYTL$3c!m9IyOC7BfVgRKx!PFX53~ diff --git a/com/study/demo3/Train.class b/com/study/demo3/Train.class deleted file mode 100644 index 2405a80dc6c438a891e5647a3d5777775f0f5cf9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmZutO-sW-5Pj3Hq%qps59=q?gV1^~2fbCi2%d@v3B7NdrCn)~l5B+jEIlZA@CW## z#Mu-S#68T+zIpG>?0$Z|e*n0`v4a|R>S&;8W7k0oZ3`U>T|(_z#Y*20%7fvAP`OP) zNob5!EbsGZD$_trmyA?1EmBQz{3K6j@=h7h2~wfri%0P!Tv)Iz?78S+pU?>wvae0I zud;rjm7#?L7l$|^bZ1HAWjYVnUMQpF(kqMzy}$TGF4WA7YMLS5Qp9u5UuRlIym6BA zLfvuEQHl4Es#yCvl_DAu+W)`=Yh_5wn014VaAT<%o{xqToTAEqWljl9ht09hw-e69 sxqAKvdgg*(&#_j3hPw4bJu9R@{RO2~`4yF4y2C9ave}v7a$UmqHwRQ#+5i9m diff --git a/com/study/demo3/Vehicle.class b/com/study/demo3/Vehicle.class deleted file mode 100644 index fba28112363bf04aa726ceb3c5ed9d42578890f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmZvY%TB^j5QhK5tryD0BH~@VkRT*>p*xKm6IVn{Q1%5*u-KlGQZzi4CTils2k@bc zb7~D5Nt4Ox%zX3zGasLC?*NWa)1jfPLB*1aiiTyZs94pphIJJi3N{sNF{Fg;aR#$B zwC`=pwZ*_{hk+vo#|)VhM>ydrL%IIHyx$@C%>)QBMR_Sx>G_^D4k!Jo)#sjnXvG*qakk@ScgTBW?N_Qj9f#Z_@BV}ebdvudhG~;iYK^e&=SCCPat`5-Bavgf5=xrcJF;9ODBPa}bk|5+Nlrl)&N_i;r=z diff --git a/com/study/demo4/AlipayPayment.java b/com/study/demo4/AlipayPayment.java new file mode 100644 index 0000000..b5193fd --- /dev/null +++ b/com/study/demo4/AlipayPayment.java @@ -0,0 +1,9 @@ +package com.study.demo4; + +class AlipayPayment implements PaymentProcessor { + @Override + public boolean pay(double amount) { + System.out.println("支付宝支付: " + amount); + return true; + } +} diff --git a/com/study/demo4/BikeDeliveryCalculator.java b/com/study/demo4/BikeDeliveryCalculator.java new file mode 100644 index 0000000..a77218a --- /dev/null +++ b/com/study/demo4/BikeDeliveryCalculator.java @@ -0,0 +1,11 @@ +package com.study.demo4; + +class BikeDeliveryCalculator implements DeliveryFeeCalculator { + @Override + public double calculateFee(double distance) { + if (distance <= 5) { + return 5.0; // 起步价 + } + return 5.0 + (distance - 5) * 1.5; + } +} diff --git a/com/study/demo4/Cardeliverycalculator.java b/com/study/demo4/Cardeliverycalculator.java new file mode 100644 index 0000000..c677781 --- /dev/null +++ b/com/study/demo4/Cardeliverycalculator.java @@ -0,0 +1,12 @@ +package com.study.demo4; + +class CarDeliveryCalculator implements DeliveryFeeCalculator { + @Override + public double calculateFee(double distance) { + if (distance <= 5) { + return 10.0; // 起步价 + } + return 10.0 + (distance - 5) * 2.0; + } +} + diff --git a/com/study/demo4/CreditCardPayment.java b/com/study/demo4/CreditCardPayment.java new file mode 100644 index 0000000..e0727d0 --- /dev/null +++ b/com/study/demo4/CreditCardPayment.java @@ -0,0 +1,9 @@ +package com.study.demo4; + +class CreditCardPayment implements PaymentProcessor { + @Override + public boolean pay(double amount) { + System.out.println("银行卡支付: " + amount); + return true; + } +} diff --git a/com/study/demo4/DeliveryFeeCalculator.java b/com/study/demo4/DeliveryFeeCalculator.java new file mode 100644 index 0000000..3718cf4 --- /dev/null +++ b/com/study/demo4/DeliveryFeeCalculator.java @@ -0,0 +1,5 @@ +package com.study.demo4; + +interface DeliveryFeeCalculator { + double calculateFee(double distance); +} diff --git a/com/study/demo4/HomeAppliance.java b/com/study/demo4/HomeAppliance.java new file mode 100644 index 0000000..b5ff203 --- /dev/null +++ b/com/study/demo4/HomeAppliance.java @@ -0,0 +1,26 @@ +package com.study.demo4; + +abstract class HomeAppliance implements SmartDevice { + protected String name; + protected boolean isOn; + + public HomeAppliance(String name) { + this.name = name; + this.isOn = false; + } + + @Override + public void turnOn() { + isOn = true; + } + + @Override + public void turnOff() { + isOn = false; + } + + @Override + public String getStatus() { + return name + " is " + (isOn ? "ON" : "OFF"); + } +} diff --git a/com/study/demo4/HomeController.java b/com/study/demo4/HomeController.java new file mode 100644 index 0000000..f6c89f7 --- /dev/null +++ b/com/study/demo4/HomeController.java @@ -0,0 +1,21 @@ +package com.study.demo4; + +import java.util.ArrayList; +import java.util.List; + +class HomeController { + private List devices = new ArrayList<>(); + + public void addDevice(SmartDevice device) { + devices.add(device); + } + + public String getDeviceStatus(String name) { + for (SmartDevice device : devices) { + if (device.getStatus().contains(name)) { + return device.getStatus(); + } + } + return "Device not found"; + } +} diff --git a/com/study/demo4/PaymentFactory.java b/com/study/demo4/PaymentFactory.java new file mode 100644 index 0000000..be757a8 --- /dev/null +++ b/com/study/demo4/PaymentFactory.java @@ -0,0 +1,16 @@ +package com.study.demo4; + +class PaymentFactory { + public static PaymentProcessor getProcessor(String type) { + switch (type.toLowerCase()) { + case "wechat": + return new WechatPayment(); + case "alipay": + return new AlipayPayment(); + case "card": + return new CreditCardPayment(); + default: + throw new IllegalArgumentException("不支持的支付方式"); + } + } +} diff --git a/com/study/demo4/PaymentProcessor.java b/com/study/demo4/PaymentProcessor.java new file mode 100644 index 0000000..67bb08f --- /dev/null +++ b/com/study/demo4/PaymentProcessor.java @@ -0,0 +1,6 @@ +package com.study.demo4; + +interface PaymentProcessor { + boolean pay(double amount); +} + diff --git a/com/study/demo4/SmartAirConditioner.java b/com/study/demo4/SmartAirConditioner.java new file mode 100644 index 0000000..450b968 --- /dev/null +++ b/com/study/demo4/SmartAirConditioner.java @@ -0,0 +1,7 @@ +package com.study.demo4; + +class SmartAirConditioner extends HomeAppliance { + public SmartAirConditioner(String name) { + super(name); + } +} diff --git a/com/study/demo4/SmartDevice.java b/com/study/demo4/SmartDevice.java new file mode 100644 index 0000000..d13ce91 --- /dev/null +++ b/com/study/demo4/SmartDevice.java @@ -0,0 +1,7 @@ +package com.study.demo4; + +interface SmartDevice { + void turnOn(); + void turnOff(); + String getStatus(); +} diff --git a/com/study/demo4/SmartLight.java b/com/study/demo4/SmartLight.java new file mode 100644 index 0000000..05ed4c9 --- /dev/null +++ b/com/study/demo4/SmartLight.java @@ -0,0 +1,7 @@ +package com.study.demo4; + +class SmartLight extends HomeAppliance { + public SmartLight(String name) { + super(name); + } +} diff --git a/com/study/demo4/SmartMasher.java b/com/study/demo4/SmartMasher.java new file mode 100644 index 0000000..313b8c1 --- /dev/null +++ b/com/study/demo4/SmartMasher.java @@ -0,0 +1,7 @@ +package com.study.demo4; + +class SmartMasher extends HomeAppliance { + public SmartMasher(String name) { + super(name); + } +} diff --git a/com/study/demo4/TestControl.java b/com/study/demo4/TestControl.java new file mode 100644 index 0000000..032bc29 --- /dev/null +++ b/com/study/demo4/TestControl.java @@ -0,0 +1,31 @@ +package com.study.demo4; + +import java.util.ArrayList; +import java.util.List; + +public class TestControl { + public static void main(String[] args) { + HomeController controller = new HomeController(); + + // 创建设备 + SmartLight light = new SmartLight("Living Room Light"); + SmartAirConditioner ac = new SmartAirConditioner("Bedroom AC"); + SmartMasher masher = new SmartMasher("Kitchen Masher"); + + // 添加到控制器 + controller.addDevice(light); + controller.addDevice(ac); + controller.addDevice(masher); + + // 测试设备状态 + light.turnOff(); + ac.turnOff(); + masher.turnOn(); + + // 查询状态 + System.out.println(controller.getDeviceStatus("Living Room Light")); + System.out.println(controller.getDeviceStatus("Bedroom AC")); + System.out.println(controller.getDeviceStatus("Kitchen Masher")); + System.out.println(controller.getDeviceStatus("Non-existent Device")); + } +} diff --git a/com/study/demo4/TestPay.java b/com/study/demo4/TestPay.java new file mode 100644 index 0000000..b93a43d --- /dev/null +++ b/com/study/demo4/TestPay.java @@ -0,0 +1,8 @@ +package com.study.demo4; + +public class TestPay { + public static void main(String[] args) { + PaymentProcessor processor = PaymentFactory.getProcessor("alipay"); + processor.pay(666.0); + } +} diff --git a/com/study/demo4/TestTransport.java b/com/study/demo4/TestTransport.java new file mode 100644 index 0000000..f57bd13 --- /dev/null +++ b/com/study/demo4/TestTransport.java @@ -0,0 +1,22 @@ +package com.study.demo4; + +public class TestTransport { + public static void main(String[] args) { + // 测试自行车配送 + DeliveryFeeCalculator bike = new BikeDeliveryCalculator(); + System.out.println("自行车配送 3km: ¥" + bike.calculateFee(3)); + System.out.println("自行车配送 8km: ¥" + bike.calculateFee(8)); + + // 测试汽车配送 + DeliveryFeeCalculator car = new CarDeliveryCalculator(); + System.out.println("汽车配送 3km: ¥" + car.calculateFee(3)); + System.out.println("汽车配送 8km: ¥" + car.calculateFee(8)); + + // 对比不同距离的费用 + System.out.println("\n费用对比:"); + for (int km = 1; km <= 10; km++) { + System.out.printf("%dkm: 自行车¥%.1f, 汽车¥%.1f%n", + km, bike.calculateFee(km), car.calculateFee(km)); + } + } +} diff --git a/com/study/demo4/WechatPayment.java b/com/study/demo4/WechatPayment.java new file mode 100644 index 0000000..cb63334 --- /dev/null +++ b/com/study/demo4/WechatPayment.java @@ -0,0 +1,9 @@ +package com.study.demo4; + +class WechatPayment implements PaymentProcessor { + @Override + public boolean pay(double amount) { + System.out.println("微信支付: " + amount); + return true; + } +}