作者wu110011 (不下棋)
看板C_and_CPP
標題[問題] Factory Pattern問題
時間Thu Dec 15 20:41:39 2016
問題:在Factory Pattern不同Sub Class(Circle,Square,Rectangle)中,
有不同的function功能(print(),put(),push()),
請問我要如何設計才能讓Super Class(Shape)存取這些function呢?
http://imgur.com/a/ps24S
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.121.132
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_and_CPP/M.1481805702.A.B0D.html
1F:推 CoNsTaR: 無法,要馬做型別相依的多型,要馬把那些functions抽象出 12/15 23:35
2F:→ CoNsTaR: 來放在superclass裡 12/15 23:35
3F:→ CoNsTaR: 可以去多了解 category theory 和 subtyping 的關係 12/15 23:36
4F:推 andyjy12: 用dynamic_cast直接變成你想要的type 12/16 12:24
5F:→ andyjy12: 或是提供一個 exec("push","arg lis") 在base class 12/16 12:24
6F:→ andyjy12: 或是參考Metaobject的方式 12/16 12:26
7F:推 soheadsome: visitor pattern 12/16 13:40