C語言中的類廠 factory

2021-05-21 17:59:53 字數 611 閱讀 1504

c語言中的類廠(factory)

log4c中的類廠的實現也很有意思。

所為類廠就是可以用它來生產商品(product)。

但並不是乙個類廠就可以生產所有的商品。

不同的商品需要不同的類廠,這就需要乙個類能夠按使用者需要來產生類廠。

所以這本身就是一種c語言中的物件導向。

先看一下類廠們共同的操作

fac_new是生產一件商品,對應的還有delete的操作,print估計是除錯用的。

有了這個共同的操作,就可以定義類廠結構體了

由上面的結構體,我們可以看出,乙個類廠應該有乙個名字(fac_name),

還有一組可指定的類廠操作(fac_ops),還有乙個儲存商品的hash表。

太精秒了,使用者只需要負責new和delete操作,其它的工作都由這個抽象的類廠幫你來完成。

看看它都會做哪些操作:

這是新建乙個類廠,而不是生成商品哦!

這是刪除乙個類廠,包括所有的商品。

這是獲得類廠,依據名字。

這是乙個商品,依據名字。

這是列印所有的類廠及其商品。

};小結

這個類廠抽象類是典型的c語言中的物件導向的一種應用,也比較實用,需要細細體會。

C語言中的物件導向 C語言中的類模擬

在物件導向的語言裡面,出現了類的概念。這是程式設計思想的一種進化。所謂類 是對特定資料的特定操作的集合體。所以說類包含了兩個範疇 資料和操作。而c語言中的struct僅僅是資料的集合。li 1978 163.com 1 例項 下面先從乙個小例子看起 ifndef c class define c c...

C語言中的類模擬(C 程式設計思想)

在物件導向 1 例項 下面先從乙個小例子看起 ifndef c class define c class struct endif c class a c class b void b f2 c class b bthis void a foo c class a athis void b foo ...

C語言中的類模擬和多型

1 例項 下面先從乙個小例子看起 ifndef c class define c class struct endif c class a c class b void b f2 c class b bthis void a foo c class a athis void b foo c clas...