我大學時學的是Turbo C,當時還沒有物件導向的概念,所以等到我多年後要重拾起程式設計的過程,也是花了一般功夫才又建立起新的觀念。而物件導向已是程式設計界的金科玉律。
先來說一下「類別」和「物件」。

各位還記得國中生物學裡怎麼教分類的吧:界、門、綱、目、科、屬、種。(我常常喜歡考人家倒過來怎麼唸,種屬科目~~~)
人類是「動物界→脊索動物門→哺乳綱→靈長目→人科→人屬→人種」,這7個全部都是類別,只不過前面是大類別,後面是子類別,但全都不是人,人是類別的體現(個體化),所以你是一個個體,我也是一個個體,我和你都屬於人類,但卻是不一樣的個體。
每個個體會有自己的屬性事件方法
比如說我叫黃正傳、男性、中年,那是我的屬性,每個人都有這些屬性,但屬性不一樣。
我會生病、受傷、過生日,每個人都會發生這些事件,事件的特性是何時發生與怎麼發生並非由個體決定,有些事件需要處理,有些不用,而且每個人的處理方法不一樣。
我會呼吸、吃飯、睡覺,那是我的方法,每個人也都會這些方法,方法大家都類似,但由誰來執行完全不一樣,比如說我總不能替你吃飯吧。
而群益API有這幾個物件:

  1. SKCenterLib:登入&環境設定。
  2. SKOrderLib:下單物件。
  3. SKQuoteLib:國內報價物件。
  4. SKOSQuoteLib:海期報價物件。
  5. SKOOQuoteLib:海選報價物件。
  6. SKReplyLib:回報物件。

它們是ATL物件,Active Template Library,是一種樣板架構的 C++ 類別,先不用管它的定義,只要知道它有屬性事件方法就行了。這是寫程式好玩的地方:可以自由地設計類別、創造物件。
這種無中生有的事倒也不是程式設計所獨有。我最近為了網站的線上課程以後要收費,所以去登記了一間公司:黃大程式交易有限公司。我問會計師朋友:

問:那我可以把公司的錢拿來做投資嗎?
答:可以啊,算你跟公司借錢。
問:可是公司是我的,它的錢不就是我的錢?
答:它是法人,是獨立個體,像小孩是你生的,但他是獨立的。
問:但它不是人耶,它又不會自己做決定,它要錢也沒有用啊!
答:它是法人,董事會是它的頭腦,會做決定,它的營運要用錢,它賺錢屬於股東,只不過這家公司只有一個董事、一個股東。縱然如此,法律上它是獨立的個體,你必須透過法律程序取得你的權利,不能隨意要它怎樣就怎樣。

懂我的意思嗎?我創造了一個人,一個法律上實體存在的人,就是法人。所以”公司”是一個類別,而”黃大程式交易有限公司”是一個類別的體現,它依照公司法有它的屬性(例如名稱、統一編號)、事件(例如接到訂單、被稽查)和方法(例如開發票、報稅)。
所以群益的這6個物件也分別有屬性事件方法。想知道有哪些可以查閱說明書,未來的課程我們會陸續帶大家瞭解。