做左type casting先?

TOP

我反如唔係好明, 如果個drawShape係專俾Rectangle用, 點解唔放去Rectangle class override draw(), 而要放響Screen度overload?

TOP

因為其實唔只 Rectangle 一個 Shape
ghostkcleung 發表於 2021-3-29 16:46


咁咪每個shape既child class各自override
OO原意就係咁
響parent做哂child要做既野有D本末倒置

TOP

我個諗法係每個 Shape define 出嚟嗰陣,
有自己嘅 Generic 方法處理 Draw。

當 Screen 無自己方法處理呢 ...
ghostkcleung 發表於 2021-3-31 19:38


即係講緊M款Screen + N款Shape = M x N

我個人會咁做:
Shape <-- GenericShape <-- Triangle/Rectangle

有咩Generic既放去中間果層class handle, 獨立唔同既就放去最child
日後加Screen的話, 可以先去GenericShape果度加翻D fallback code先

TOP