QQ登录

只需要一步,快速开始

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

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

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

1

主题

3

听众

5

积分

升级  0%

该用户从未签到

跳转到指定楼层
1#
发表于 2009-9-10 22:40 |只看该作者 |倒序浏览
|招呼Ta 关注Ta
法则4:Liskov替换法则(LSP)    # L  x  J1 v8 ^- `7 _- O
5 [3 g. [; @# j0 `
6 j0 O0 u0 B4 d
使用指向基类(超类)的引用的函数,必须能够在不知道具体派生类(子类)对象类型的情况下使用它们。   ' T2 d  h! t" A* Q" F" P1 B& {: H4 _

" S: }9 k7 [, {. S2 l$ q- k5 l7 {1 H6 C# T
 [ Function Thar Use Referennces To Base(Super) Classes Must Be Able To Use Objects   Of Derived(Sub) Classes Without Knowing It ]                   
) K5 D5 X- c7 e6 Q' ?- z! L7 W4 o
# Y: b9 I) a6 G0 l; d
1 p3 z0 n9 `5 X- \0 q3 |Liskov替换法则  5 f' o% n$ v. [$ B- G/ k

, ]" u) i. }/ Z  N( g7 l% H, e0 Q( S) P# N% r
1.显而易见,Liskov替换法则(LSP)是根据我所熟知的"多态"而得出的。    , I( y" T6 ^6 D$ B
+ R2 q1 i, \# @" t9 e
- ^1 Z2 m) `9 x
2.例如:        1 {/ L$ Q" S% |1 d2 `! p7 @7 j- |* E

( `3 z; q( W- A& N' b/ k& v7 d# r# x
方法drawShape应该可与Sharp超类的任何子类一起工作(或者,若Sharp为Java接口,则该方法可与任何实现了Sharp接口的类一起工作)   
; _9 P, @; E& ?# ?  ~0 c7 k: Y0 m( f) I2 B/ X

( R9 Z  {: t2 V" f/ d0 e 但是当我们在实现子类时必须要谨慎对待,以确保我们不会无意中违背了LSP。 6 |3 R( c5 b' C; ~

. P- t" d7 p% w! R, P
( m* L1 D' y: J& o' s" n- F 6 u; j2 Z; p/ }- h

8 X' B" a: |2 F  v- x; f
: [5 |3 ?0 W7 x% |" A7 y: ]5 F+ H! \ 3.若一个函数未能满足LSP,那么可能是因为它显式地引用了超类的一些或所有子类。
6 E" q' [% Z  r7 {
8 _6 J7 O. \+ j0 H# J
' u1 z' `* o$ G/ m7 S, T这样的函数也违背了OCP,因为当我们创建一个新的子类时,会不得不进行代码的修改。# X# g) a+ A, z9 r5 o: m
+ d* Z8 g7 ^1 K: E6 c& [
- B0 t! M4 I! o4 C; y
>>更多一些面向对象得设计法则(4)
zan
转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
pxwgih        

0

主题

4

听众

151

积分

升级  25.5%

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

    [LV.1]初来乍到

    回复

    使用道具 举报

    0

    主题

    4

    听众

    5

    积分

    升级  0%

    该用户从未签到

    自我介绍
    Statistician & Applied Mathematician
    回复

    使用道具 举报

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

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

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

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

    蒙公网安备 15010502000194号

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

    GMT+8, 2026-4-22 14:08 , Processed in 0.489799 second(s), 67 queries .

    回顶部