看板 OOAD 關於我們 聯絡資訊
請問,類似這樣的例子 class human{...}; class blackhuman:public human{}; class whitehuman:public human{}; class factory{...} 應用時,語法類似這樣 human man1=factory.create(blackhuman); human man2=factory.create(whitehman); 以這樣的方式產生物件,但blackhuman及whitehuman擁有的一些特定的屬性值 不是就因此被丟棄了嗎?那產生出來的man1及man2又有何獨特性? 煩請說明一下,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.175.13
mcauther :factory 也要分成 black / white factory 11/17 21:06
mcauther :藉由不同的 factory 產生 不同的 man 11/17 21:06
mcauther :但重點是 多型 ----> 也就是同依個介面 11/17 21:07
mcauther :比如 factory = (factory)white_factory 11/17 21:08
mcauther :也就是 你的主要程式都在操作 factory 11/17 21:08
mcauther :但實際上這個 factory 可能是 white / black 11/17 21:09
tyc5116 :所以它應該是要以abstract factory才對囉?? 11/18 08:38
tyc5116 :不對啊,這樣那些屬性不是也不見了嗎? 11/18 08:59
walao81 :屬性應該封裝起來,這裡你要追求的是介面統一, 11/22 19:31
walao81 :使用human這個product的程式,不會在乎你有什麼屬性 11/22 19:34
walao81 :它追求所有human都有同樣的方法可用,是為多型 11/22 19:35