AE中的三種類

2021-09-11 16:18:50 字數 3589 閱讀 5025

物件(object):系統中用來描述客觀事物的乙個實體。

物件是由類例項化產生的。

類(class)描述了一組具有相同特性(屬性)和相同行為(方法)的物件。

類和物件的關係如同模具和鑄件的關係,物件是類的例項化結果,而類是對物件的抽象。

如人是乙個類,張三,李四就是物件。

介面(inte***ce)是定義了一組方法(method)和屬性(property)的資料結構,通過這組資料結構,可以呼叫元件物件的功能。

在物件導向程式設計中,人們通過類的介面來使用類,介面由具體的類來實現,介面定義乙個物件能做什麼(what),而類定義它怎麼做(how).

ae中的三種類

ae中共分為3種類:

假設a為抽象類,b為普通類,c為元件物件類, a,b,c為對應的物件。

符號為普通的二維矩形

不能夠被建立或者例項化,抽象類用來定義子類的公共介面,子類繼承其定義的介面。omd(object model diagrams,物件模型圖)中每個抽象類至少有乙個子類。

如geometry是乙個抽象類,它不能直接建立,但是他的子類如point, polyline, polygon可以直接建立, geometry給出了所有幾何元素的共有屬性和方法。

符號為帶陰影的二維矩形

不能夠直接建立新物件,但可以作為其他類的物件的乙個屬性

如 b object = c.certainproperty;

或者從某個類的物件的方法來建立。

b object =c.certainmethod();

如featurecursor是乙個普通類,featurecursor不能用new建立,但可以通過ifeaturelayer.search()方法建立

ifeaturecursor pfeaturecursor = pfeaturelayer.search(spatialfilter, false);

這裡如果pfeaturelayer物件被銷毀,那麼依附於其上的pfeaturecursor也會消失,可以認為兩者之間是組成關係。

符號為三維立方體

可以用new 關鍵字來建立

imap pmap = new mapclass();

或者從別的物件獲得執行例項。

imap pmap = axmapcontrol1.map

arcengine中workspace 是乙個普通類,不能通過new來建立,但可以通過workspacefarctory.openfromfile()方法來建立。

如:iworkspacefactory pworkspacefactory =new accessworkspacefactoryclass();

accessworkspacefactoryclass是乙個元件物件類,可以直接new來新建乙個物件,iworkspacefactory是訪問該物件的介面。

iworkspace pworkspace =

pworkspacefactory.openfromfile(connectionstring, 0);

openfromfile是iworkspacefactory介面中的乙個方法,這個方法的結果返回乙個workspace物件,該過程稱為例項化,我們通過iworkspace介面去訪問workspace物件。

但當我們嘗試用new去建立乙個workspace類時,如下:

iworkspace pworkspace = new workspaceclass();

就會出現以下錯誤:

「型別」esri.arcgis.geodatabase.workspaceclass未定義建構函式;

這裡可以理解為coclass是帶建構函式的class,因此它可以用new直接建立物件 。

imap pmap = new mapclass();

這一步不單單是例項化出乙個map物件,同時把imap作為訪問該物件的預設介面,可以使用imap裡面的屬性(property)和方法(method)對地圖物件進行操作。

pmap.name= 「test」;

通過imap中的name屬性來修改地圖物件。

pmap.clearlayers();

通過imap中的clearlayers()方法來清除地圖中的所有圖層。

pmap.clear();

執行這一步,出現錯誤。 因為clear()屬於在map類的另外乙個介面iactiveview所有,不可能從imap介面中得到這個方法。

可以通過qi(query inte***ce,查詢介面)來切換到iactiveview上。

iactiveview pview = pmap as iactiveview;

或者iactiveviewpview = (iactiveview)pmap;

pview.clear();

鷹屬於鳥類,是一種繼承關係。

例項化指某個類的物件具有建立另乙個類的方法。鷹(hawk)通過birth()這個方法可以創造乙個egg物件。

鷹和巢之間是鬆散的關聯關係,乙隻鷹可以擁有幾個巢,乙個巢可以讓幾隻鷹居住。

關聯關係具有方向性:單向關聯和雙向關聯。

聚合如鷹爸爸,鷹媽媽,鷹寶寶聚合成乙個家庭,但是當鷹寶寶長大離家之後,鷹寶寶依然存在,不會因為離開家庭而消亡。

鷹的翅膀和鷹的關係,翅膀離開鷹就沒有意義,沒有價值了,翅膀的生命週期與鷹的生命週期一致。

從聯絡的緊密程度來看,association< aggregation< composition.

可以這樣理解:聚合(aggregation)是一種特殊的關聯(association),組成(composition)是一種特殊的聚合(aggregation)。

如學生和課程的關係,乙個學生可以學習多門課程,乙個課程也會容納多名學生。

如學生和班級的關係,27個學生組成了10041451班,但任何乙個同學在轉出這個班級後仍然存在。

如雞和翅膀的關係,翅膀脫離了雞無法存在,沒有意義,只能淪為烤雞翅t_t

arcmap

常用資料型別介紹:

1、shapefile:一種基於檔案方式儲存gis資料的檔案格式,至少有.shp,.dbf,.shx三個檔案組成,分別儲存空間資料,屬性資料,空間和屬性資料之間的關係,是gis比較通用的一種資料格式。

2、coverage:一種拓撲資料結構,一般的gis原理書中都有它的原理論述,資料結構複雜,屬性預設儲存在info表中。目前arcgis中仍然有一些分析操作只能基於這種資料格式進行操作。

3、geodatabase:arcinfo 發展到arcgis時推出的一種資料格式,基於rdbms(關係型資料庫管理系統)儲存的資料格式。

三種類的設計

類是一種將抽象轉換為使用者定義型別的c 工具,它將資料表示和操縱資料的方法組合成乙個整潔的包。類宣告 以資料成員的方式描述資料部分,以成員函式 被稱為方法 的方式描述共有介面。類方法定義 描述如何實現類成員函式。簡單地說,類宣告提供了類的藍圖,而方法定義提供了細節。person 類具有 name 和...

SQL SERVER中索引型別包括的三種型別分別是

唯一索引 unique 聚集索引 clustered 非聚集索引 nonclustered 主鍵與唯一索引的區別 主鍵是一種約束,唯一索引是一種索引,兩者在本質上是不同的。主鍵建立後一定包含乙個唯一性索引,唯一性索引並不一定就是主鍵。唯一性索引列允許空值,而主鍵列不允許為空值。主鍵列在建立時,已經預...

程序 三種型別,三種狀態

一 程序的概念 程序是執行乙個程式時所分配的資源,資源包括占用的cpu,記憶體等,是乙個動態執行過程。二 程序的組成 正文段使用者資料段 系統資料段 程序控制塊 pcb cpu暫存器值 堆疊 三 程序控制塊pcb 程序控制塊是系統用來控制和管理程序,獲得程序狀態和程序存在特徵的唯一標識。包括 程序標...