ࡱ > [ R bjbj 2D ΐ ΐ = # / / # # # 7 7 7 8 o 4 7 G o o o o o F F F F F F F $ I .L H F # F / / o o X G - - - / o # o F - F - - = | b k? o Pn 7 , o> F G 0 G > vL , p vL $ k? k? $ vL # ? - F F Q- j G vL : US NL#SRS i n g l e R e s p o n s i b i l i t y P r i n c i p l e [IN NX[(WYN N*N[{|SfvSV0OvsS N*N{|S# NyL#0 1ueg{|T #$N*N NTvL#L#P 1 L#P 2 0S_1uNL#P 1 BlSu9eS O9e{|T e gSO[S,gЏLck8^vL#P 2 RSuEe0 ㉳QeHhu_US NL#SR0R+R^z$N*N{|T 1 0T 2 OT 1 [bL#P 1 RT 2 [bL#P 2 R0ُ7hS_O9e{|T 1 e NOOL#P 2 SuEeΘiTtS_O9eT 2 e_N NOOL#P 1 SuEeΘi0 0RUS NL#SR_YNO NQ\ N~0V:N[*Y{USN0 z g~vz^XTsSONegl gǏ!j_0Negl g,TǏUS NL#SR(WoNe_NOɉvu[ُ N͑SRV:Nُ/f8^Ƌ0(WoNz-N_N N^gV:NO9eN N*NR[vQNvRSuEe0MQQsُ NvelO/fu_US NL#SR0}6qUS NL#SRYdk{USv^N:N/f8^ƋFO/fsSO/f~0N[vz^XTQQvz^_NO gݏُ̀ NSRvNxX[(W0:NNHNOQsُysabTV:N gL#ibce0@bL#ibce1\/fV:NgySVL#P RS:N|^f~vL#P 1 TP 2 0 kY{|T S# N*NL#P ُ7h/f&{TUS NL#SRv0Teg1uNgySV_N/f BlSfN_N/fz^vXLucؚN \L#P ~R:N|^f~vL#P 1 P 2 ُeYgOz^u_US NL#SR \{|T _NR:N$N*N{|T 1 TT 2 R+R#P 1 0P 2 $N*NL#0FO/f(Wz^]~Q}Yv`QNُ7hZP{v*Y9eN0@bN{USvO9e{|T (u[eg#$N*NL#/f N*Nk Nv b}6qُ7hZP g`NUS NL#SR0 >NOf(u N*N{|cRir|T8Tُ*N:Wof c l a s s A n i m a l { p u b l i c v o i d b r e a t h e ( S t r i n g a n i m a l ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8Tzzl" ) ; } } p u b l i c c l a s s C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { A n i m a l a n i m a l = n e w A n i m a l ( ) ; a n i m a l . b r e a t h e ( " [r" ) ; a n i m a l . b r e a t h e ( " " ) ; a n i m a l . b r e a t h e ( " *s" ) ; } } ЏL~g [r|T8Tzzl |T8Tzzl *s|T8Tzzl z^ N~TSsNv^ N/f@b gvRir|T8TzzlvkY|1\/f|T8T4lv0O9eeYgu_US NL#SR \A n i m a l {|~R:NFuRir{|T e r r e s t r i a l 4luRirA q u a t i c NxYN c l a s s T e r r e s t r i a l { p u b l i c v o i d b r e a t h e ( S t r i n g a n i m a l ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8Tzzl" ) ; } } c l a s s A q u a t i c { p u b l i c v o i d b r e a t h e ( S t r i n g a n i m a l ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8T4l" ) ; } } p u b l i c c l a s s C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { T e r r e s t r i a l t e r r e s t r i a l = n e w T e r r e s t r i a l ( ) ; t e r r e s t r i a l . b r e a t h e ( " [r" ) ; t e r r e s t r i a l . b r e a t h e ( " " ) ; t e r r e s t r i a l . b r e a t h e ( " *s" ) ; A q u a t i c a q u a t i c = n e w A q u a t i c ( ) ; a q u a t i c . b r e a t h e ( " |" ) ; } } ЏL~g [r|T8Tzzl |T8Tzzl *s|T8Tzzl ||T8T4l bNOSsYgُ7hO9e /f_'YvdN\Segv{|RKNY؏ O9e[7bz0vcO9e{|A n i m a l egbvv}6qݏ̀NUS NL#SRFO tS\vYNxYN c l a s s A n i m a l { p u b l i c v o i d b r e a t h e ( S t r i n g a n i m a l ) { i f ( " |" . e q u a l s ( a n i m a l ) ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8T4l" ) ; } e l s e { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8Tzzl" ) ; } } } p u b l i c c l a s s C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { A n i m a l a n i m a l = n e w A n i m a l ( ) ; a n i m a l . b r e a t h e ( " [r" ) ; a n i m a l . b r e a t h e ( " " ) ; a n i m a l . b r e a t h e ( " *s" ) ; a n i m a l . b r e a t h e ( " |" ) ; } } SNw0RُyO9ee_{USvY0FO/ftSX[(W@w` g N)Y \|R:N|T8Tm4lv|T|T8Twm4lv|RS O9eA n i m a l {|vb r e a t h e el[S gNxvO9eO[(u *s [r I{vsQR&^egΘi_Ng N)Y`OOSsz^ЏLv~gS:N [r|T8T4l N0ُyO9ee_vc(WNx~+R Nݏ̀NUS NL#SR}6qO9eweg g{USFO`tS/f g'Yv0؏ g NyO9ee_ c l a s s A n i m a l { p u b l i c v o i d b r e a t h e ( S t r i n g a n i m a l ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8Tzzl" ) ; } p u b l i c v o i d b r e a t h e 2 ( S t r i n g a n i m a l ) { S y s t e m . o u t . p r i n t l n ( a n i m a l + " |T8T4l" ) ; } } p u b l i c c l a s s C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { A n i m a l a n i m a l = n e w A n i m a l ( ) ; a n i m a l . b r e a t h e ( " [r" ) ; a n i m a l . b r e a t h e ( " " ) ; a n i m a l . b r e a t h e ( " *s" ) ; a n i m a l . b r e a t h e 2 ( " |" ) ; } } SNw0RُyO9ee_l g9eRSegvel/f(W{|-NeRN N*Nelُ7h}6q_Nݏ̀NUS NL#SRFO(Wel~+R NtS/f&{TUS NL#SRvV:N[v^l gRSegelvNx0ُ Nye_T gO:pHN(W[Ez-NǑ(uT N-NbTvQ[ُwvk 9hnc[E`Qegnx[0bvSR/fS g;Y{USMbSN(WNx~+R NݏSUS NL#SRS g{|-NelpeϑY\MbSN(Wel~+R NݏSUS NL#SR OY,ge@b>Nvُ*NOP[[*Y{USN[S g N*Nel@bNe/f(WNx~+R NݏSUS NL#SR؏/f(Wel~+R NݏS NO b*Y'Yvq_T0[E^(u-Nv{| YBgvY NeSuL#ibce O9e{|ed^ُ*N{|,g^8^{US&TR؏/fu_US NL#SRv}Y0 u_US NL#SvOp g SNMNO{|v YBg^ N*N{|S# NyL#vQ;[k#YyL#{USvY cؚ{|vS'`cؚ|~vS~b'` Sf_wvΘiMNOSf/f_6qvYgUS NL#SRu[v}YS_O9e N*NReSN>fWMNO[vQNRvq_T0 fv Np/fUS NL#SR NS/fbT[az``@byr gvS/f!jWWSvz^ u_ُ N͑SR0 ̑lfbcSRL i s k o v S u b s t i t u t i o n P r i n c i p l e [ g N\NߍbRw0RُySRveP N7h[ُ*NSRv TW[EQnu`0vQ[SV1\/fُySR ge/f(W1 9 8 8 t^1uwt]f[bv NMOY̑vsYXB a r b a r a L i s k o v cQegv0 [IN1 Yg[k N*N{|W:N T 1 v[a o 1 g{|W:N T 2 v[ao 2 O_N T 1 [INv@b gz^ P (W@b gv[a o 1 Nbcb o 2 ez^ P vL:Nl gSuSSHN{|W T 2 /f{|W T 1 vP[{|W0 [IN2 @b g_(uW{|v0We_{f0WO(uvQP[{|v[a0 1ueg g NRP 1 1u{|A [b0s \RP 1 ۏLibU\ibU\TvR:NP vQ-NP 1uS gRP 1 NeRP 2 ~b0eRP 1u{|A vP[{|B eg[bRP[{|B (W[beRP 2 vTe gSO[S gRP 1 SuEe0 ㉳QeHhS_O(u~beu_̑lfbcSR0{|B ~b{|A edmRevel[beXRP 2 Y=\ϑ N͑Q6r{|A vel_N=\ϑ N͑}6r{|A vel0 ~bS+Tُ7h NB\+TIN6r{|-NQ/f]~[s}Yvelv[Nbael [E N/f(W[ N|RvĉTQY~}6q[ N:_6RBl@b gvP[{|_{uNُNQY~FO/fYgP[{|[ُN^baelNaO9e1\O[te*N~bSO| b4xOW0̑lfbcSR1\/fhNُ NB\+TIN0 ~b\O:NbT[a N'Yyr'`KN N(W~z^&^eg]'YO)RvTe_N&^egN _z0kYO(u~bO~z^&^egOeQ'`z^vSy i'`MNOXRN[av&T'`Yg N*N{|vQNv{|@b~bRS_ُ*N{| O9ee_{Q0R@b gvP[{|v^N6r{|O9eT@b gmS0RP[{|vR gSONuEe0 >NOf~bvΘibN [b N*N$NpevQvR1u{|A eg#0 c l a s s A { p u b l i c i n t f u n c 1 ( i n t a , i n t b ) { r e t u r n a - b ; } } p u b l i c c l a s s C l i e n t { p u b l i c s t a t i c v o i d m a i n ( S t r i n g [ ] a r g s ) { A a = n e w A ( ) ; S y s t e m . o u t . p r i n t l n ( " 1 0 0 - 5 0 = " + a . f u n c 1 ( 1 0 0 , 5 0 ) ) ; S y s t e m . o u t . p r i n t l n ( " 1 0 0 - 8 0 = " + a . f u n c 1 ( 1 0 0 , 8 0 ) ) ; } } ЏL~g 1 0 0 - 5 0 = 5 0 1 0 0 - 8 0 = 2 0 TegbN XR N*NevR[b$NpevR6qTQN1 0 0 BlT1u{|B eg#0sS{|B [b$N*NR $NpevQ0 $NpevR6qTQR1 0 0 0 1uN{|A ]~[sN,{ N*NR@bN{|B ~b{|A TS Q[b,{N*NR1\SNNNxYN c l a s s B e x t e n d s A { p u b l i c i n t f u n c 1 ( i n t a , i n t b ) { r e t u r n a + b ; } p u b l i c i n t f u n c 2 ( i n t a , i n t b){ return func1(a,b)+100; } } public class Client{ public static void main(String[] args){ B a = new B(); System.out.println("100-50="+b.func1(100, 50)); System.out.println("100-80="+b.func1(100, 80)); System.out.println("100+20+100="+b.func2(100, 20)); } } {|B [bTЏL~g 1 0 0 - 5 0 = 1 5 0 1 0 0 - 8 0 = 1 8 0 1 0 0 + 2 0 + 1 0 0 = 2 2 0 bNSsS,gЏLck8^vvQRSuN0SV1\/f{|B (W~elw Teea-N͑QN6r{|vel b@b gЏLvQRvNxhQ(uN{|B ͑QTvel bS,gЏLck8^vRQsN0(W,gO-N_(uW{|A [bvRbcbP[{|B KNTSuN_8^0(W[Ez-NbN8^8^OǏ͑Q6r{|veleg[bevRُ7hQweg}6q{USFO/fte*N~bSO|vS Y(u'`Ok]yr+R/fЏ(uY`kA~ez^ЏLQvQs^8^'Y0Yg^͑Q6r{|velk(uvZPl/fSegv6r{|TP[{|~b N*NfOvW{|S gv~bsQ|ScǑ(uOV0ZT~TI{sQ|Nf0 ̑lfbcSROveg1\/fP[{|SNibU\6r{|vRFO N9eS6r{|S gvR0[S+TNN4 B\+TIN P[{|SN[s6r{|vbaelFO Nv6r{|v^bael0 P[{|-NSNXR]yr gvel0 S_P[{|vel͑}6r{|veleelvMRnagNsSelvb_S k6r{|elveQSpef[~g0 S_P[{|vel[s6r{|vbaeleelvTnagNsSelvԏV