模板與OOP的重要差別

2021-07-28 13:20:59 字數 539 閱讀 3659

經過許多天的思考,我對模板和oop有了一些自己的認知。

這兩種方法都能夠實現多型,只不過是乙個在編譯時生成物件操作,另乙個是在執行時動態關聯的。

這兩種方法的優缺點在**呢?

模板適合一體化的方式實現的程式,也就是自成一體不需要拓展的程式,這種程式預料到了所有的需求,因此相當於在編譯時刻就優化好了所有。

oop實現的多型操作更適合一些需要拓展的程式,比如利用外掛程式等方式動態載入元件,這樣的系統,通過開發乙個介面容納所有的例項,是沒有辦法提前優化的,但是通過這種手段可以拓展程式功能,效率又不下降太多,實在是一種極好的 手段。

這兩種方法一種效率高,一種拓展性強。

有些答案說什麼利用模板實現的多型不具有侵入性,**更整潔,然而這根本不算什麼優點,這只能說是軟體架構設計的失敗,竟然沒有提前預料到所有需求,造成了介面功能的欠缺。然而程式設計師有懶,不想更改原始設計。

事實上,繼承oop的設計方式,可以將基礎服務放在超類,這樣子類拓展起來更加容易**更加簡潔,子類不需要關注那麼多細節,這些細節由超類在上游就已經配置好了,子類預設啟用這些特性。這才是繼承的正確使用方式。

c 學習 oop 模板與泛型程式設計

include include using namespace std class queue public queue void push int b void pop intgetlength virtual void print private node head 頭節點存的是佇列的長度,是不...

C 的重要特性 模板

template 雖然很重要,但它與 運用mfc 有什麼關係?有!第 章當我們開始設計scribble 程式時,需要用到mfc 的collection classes,而這一組類別自從mfc 3.0以來就有了template 版本 因為visual c 編譯器從2.0 版開始支援c template...

for while 與 until的 差別

bash shell中常用的loop有如下三種 for while until for loop 是從乙個清單列表中讀進變數值,並 依次 的迴圈執行 do 到 done 之間的命令列。例for var in one two three four five do echo echo var is va...