作者tyc5116 (累人啊....)
看板OOAD
标题[概念] 请问factory pattern
时间Thu Nov 17 14:57:01 2011
请问,类似这样的例子
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
1F:推 mcauther :factory 也要分成 black / white factory 11/17 21:06
2F:→ mcauther :藉由不同的 factory 产生 不同的 man 11/17 21:06
3F:→ mcauther :但重点是 多型 ----> 也就是同依个介面 11/17 21:07
4F:→ mcauther :比如 factory = (factory)white_factory 11/17 21:08
5F:→ mcauther :也就是 你的主要程式都在操作 factory 11/17 21:08
6F:→ mcauther :但实际上这个 factory 可能是 white / black 11/17 21:09
7F:→ tyc5116 :所以它应该是要以abstract factory才对罗?? 11/18 08:38
8F:→ tyc5116 :不对啊,这样那些属性不是也不见了吗? 11/18 08:59
9F:→ walao81 :属性应该封装起来,这里你要追求的是介面统一, 11/22 19:31
10F:→ walao81 :使用human这个product的程式,不会在乎你有什麽属性 11/22 19:34
11F:→ walao81 :它追求所有human都有同样的方法可用,是为多型 11/22 19:35