關於剛學arcgis二次開發,不懂為什麼不直接圖二?

時間 2021-06-05 22:04:48

1樓:盛政

這個問題很好,也在最初學AO以及面向介面程式設計時(對於QI)會常常感到困惑。實際對於呼叫者更希望圖二,物件導向,呼叫操作就OK了。那為何非要出現圖3?

武斷地說吧,介面是物件導向的進一步抽象,有人說是為了多型,這只是介面的表現。而出現介面的意義,更深層的還是為了剝離依賴,降低耦合。舉個簡單易懂的例子,迴圈依賴往往會出現物件導向程式設計中,這是乙個非常討厭的現象,也許不會出現A依賴B,B依賴A;但A依賴B,B依賴C,C依賴A的機率就會比AB直接迴圈依賴的機率大很多,同理,當類庫相當龐大時,更容易出現此情況,此時介面出現了。

為什麼?大都情況下,其實A依賴只是B的乙個屬性或幾個操作,說白,A依賴的是B實現的某個介面,以此類推,介面的介入,大大的緩解此類情況,而且是有理有據,依賴就會更清晰。

所以,當你自己寫乙個小類庫時,你根本不會想到介面,反而覺得介面是累贅,但當你類庫逐漸龐大時,介面就會自然而然的出現。無他,唯手熟爾。

補充一點:多型並非需要介面來完成,物件導向虛函式同樣可以完成多型。所以不要動不動:介面就是為了多型。

2樓:集思鵝

回家路上,不才斗膽填下這個坑。

AO二開是典型的面向介面程式設計。

扯一下AO 的面向介面。

在AO的物件模型中,乙個class往往有著數量龐大的成員。那麼,如何讓這些member更容易被呼叫者知道啥時候用哪些呢?歸類!

嗯,很好。但是,乙個類只能繼承乙個基類,是不是很悲哀?咋整?

用介面唄。

舉個栗子,FeatureClass這個常見的類繼承了IFeatureClass、ITable、ITopologyClass等一堆的介面。當乙個FeatureClass物件要操作要素類要素的讀寫,這個物件用IFeatureClass型別的;當要操作要素類的屬性表,這個物件轉臉就是ITable型別的了;操作拓撲的時候呢,它肯定是ITopologyClass型別的。

此外,在AO中的類還有抽象類、元件類、普通類的區分,需要去體會。

大學實習 ERP二次開發 WEB開發何去何從

Jack Man 瀉藥。不好意思同學,我是做ERP業務的,對開發也不是太懂。從業務的職能角度來看的話,當然是起步的公司平台越大,時間越長越好。至於開發職能這方面還真沒辦法給你提供乾貨,但是開發人員對於網際網路與傳統軟體行業的各個公司都是核心人才,經常互相各種高薪挖牆腳,前段時間我們公司就被阿里高薪撬...

什麼是機械人二次開發?

誠意夏 打個比方吧,機械人的二次開發就像你買了個毛坯房,二次開發就是你裝修的過程,毛坯房大家買的都是一樣的,但是二次開發之後裝修出來那就各人有個人的風格,各有各的用途。毛坯房省去了你建房子的步驟,工業機械人二次開發省去了你造機械人的步驟。屬於站在巨人的肩膀上的行為,之後不管你是撒尿還是摘桃都是二次開...

Abaqus的二次開發用什麼語言好?

Wangchunhui abaqus的二次開發基於abaqus通用流程 前處理 求解 後處理,前處理 模型檔案.cae,輸入檔案.inp 和後處理 odb 通常使用Python指令碼語言,據說c 也可以開發後處理,從而實現前處理和後處理自定義,生成.rpy格式檔案 求解器 explicit或stan...