QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 4125|回复: 2
打印 上一主题 下一主题

一些面向对象得设计法则(4)

[复制链接]
字体大小: 正常 放大

1

主题

3

听众

5

积分

升级  0%

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-10 22:40 |只看该作者 |正序浏览
|招呼Ta 关注Ta
法则4:Liskov替换法则(LSP)    0 r( m6 k( b6 W: l" [" I

! t2 X& E1 x& ]; b( b
, }  s. t" Q. ]: T+ p+ @& o使用指向基类(超类)的引用的函数,必须能够在不知道具体派生类(子类)对象类型的情况下使用它们。   ; \! I& m" G" o( ~+ U/ A  E' E

+ m6 x+ {+ X5 b7 ]3 p: O) w) [  s! |( e
 [ Function Thar Use Referennces To Base(Super) Classes Must Be Able To Use Objects   Of Derived(Sub) Classes Without Knowing It ]                   ) N: o- M8 D8 C* U7 O
* Z8 p) L2 M% f9 U1 ~& O0 s
8 R. ~! N3 K* b$ R, J2 T% X
Liskov替换法则  + d; ?- C0 X3 r- K! p
5 a' T2 p5 i: G" t& e! T
* w% S- N( K% w  |( u; O
1.显而易见,Liskov替换法则(LSP)是根据我所熟知的"多态"而得出的。    $ j( X" N( v6 V& A$ N: u& S! k
( Y0 V7 }: R  J- n- g8 }, N; A( j
2 J( c8 {2 B3 {3 J* e
2.例如:        * ~9 ?9 K& ~) X; _: D# X
# ^" x' |$ Z. U' s
4 }" b# }3 A8 S! |2 [1 `8 t
方法drawShape应该可与Sharp超类的任何子类一起工作(或者,若Sharp为Java接口,则该方法可与任何实现了Sharp接口的类一起工作)   
0 E. R6 F: l; b! ?$ {
1 U  q. R  Z; d5 W
5 g6 f/ o1 s, n" s 但是当我们在实现子类时必须要谨慎对待,以确保我们不会无意中违背了LSP。 , w9 x3 R' n4 |& `: V) u3 Z

% \" ?# _5 ~& \& i; p/ T, L
( u; ~8 l/ [+ E/ w- a 4 V# v7 i6 Q% S+ @' P
8 H, |! I' z) X, k9 v- k

9 H6 _. g& N9 h5 b! x* T6 f 3.若一个函数未能满足LSP,那么可能是因为它显式地引用了超类的一些或所有子类。3 w8 C, T1 Y% A7 x, a9 n; A" I; y

. p9 R2 f4 o0 j$ O7 |& _
9 k6 v, S1 ]& C  T这样的函数也违背了OCP,因为当我们创建一个新的子类时,会不得不进行代码的修改。6 c6 O% P7 Y) R. U) R

- {$ o+ D4 T) i7 O0 S& G, W" [6 V/ [! d
>>更多一些面向对象得设计法则(4)
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

0

主题

4

听众

5

积分

升级  0%

该用户从未签到

自我介绍
Statistician & Applied Mathematician
回复

使用道具 举报

pxwgih        

0

主题

4

听众

151

积分

升级  25.5%

  • TA的每日心情
    开心
    2012-1-16 11:09
  • 签到天数: 1 天

    [LV.1]初来乍到

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-4-11 07:26 , Processed in 0.948240 second(s), 67 queries .

    回顶部