[問題] factory pattern

看板C_and_CPP作者 (累人啊....)時間14年前 (2011/11/17 12:21), 編輯推噓0(0012)
留言12則, 5人參與, 最新討論串1/7 (看更多)
請問,以factory pattern建立物件,如下 http://codepad.org/DU5sLXpg 可以正確建立不同的物件 可是我怎麼取得obj1及obj2的屬性值呢? 也就是怎麼取得obj1在它為ObjectA所設定的ID,及obj2在它為ObjectB所設定的ID 這部份覺得怪怪的,在new出一個物件時給值,return出來時addr不是就遺失了嗎? 也就是類似這樣 int* func() { int* num=0; *num=10; return num; } 又或者,透過ObjectA及ObjectB的ctor給值(還沒試) 但obj1和obj2又要如何取得值? 以及,屬性如何需要常常修改,又要如何處理呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.175.13 ※ 編輯: tyc5116 來自: 111.251.175.13 (11/17 12:23)

11/17 13:30, , 1F
你先把error改掉就知道怎麼處理了
11/17 13:30, 1F

11/17 13:31, , 2F
這是我為了便於po文才這樣寫的,而且即使以這樣子寫
11/17 13:31, 2F

11/17 13:31, , 3F
實際上也是正常結果
11/17 13:31, 3F

11/17 13:43, , 4F
好吧我是說這段GObject* obj1 = Builder->CreateObj.....
11/17 13:43, 4F

11/17 14:14, , 5F
不懂...
11/17 14:14, 5F

11/17 17:51, , 6F
GObject 和 IObject 有什麼關係嗎?
11/17 17:51, 6F

11/17 17:52, , 7F
factory pattern可以用在擁有相同介面但不同實作的物件
11/17 17:52, 7F

11/17 22:05, , 8F
IObject在這裡就是factory,用來生產給GObject
11/17 22:05, 8F

11/17 22:06, , 9F
jame大,不同實作的物件分別擁有的屬性怎麼取得
11/17 22:06, 9F

11/17 22:07, , 10F
我是感覺取不到所以對這樣的pattern有此疑問
11/17 22:07, 10F

11/18 13:46, , 11F
factory 就是要消除產品的差異,你要存取產品專屬的特性,
11/18 13:46, 11F

11/18 13:46, , 12F
就不要用 factory 了吧
11/18 13:46, 12F
文章代碼(AID): #1En8lPnJ (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1En8lPnJ (C_and_CPP)