Delphi 面向對象編程 第三章

Delphi面向對象編程 第三章前端

使用對象類別(類)或對象類型(抽象類對象接口)來描述客觀世界。由於類或者類類型能夠抽象出一半規律和本質特徵,能夠根據客觀世界的複雜性進一步繼承生成新類,還能夠適應客觀世界的變化性來實現多態。編程

對象的本質:後端

可視爲一組相關代碼和數據的組合。其中過程稱爲方法,數據稱爲屬性。函數

可視爲變量。它是‘類’類型的變量, 有本身的屬性,可存儲數據,它有行爲,可執行自身的具有的操做。測試

可視爲元數據。它封裝了方法和屬性,並對外提供調用接口。spa

可相互協做,共同完成任務。經過消息發送請求,在消息請求中能夠調用方法和設置屬性。設計

繼承,組合和封裝等能夠構建新的對象。指針

一個非可視化的對象是一個不包括可視化控件和接口的對象。系統邏輯對象處理客戶前端和數據後端的通訊。它們提供了一個抽象的中間層,能夠變動客戶前端和數據後端,但系統邏輯保持不變。對象

系統邏輯對象提供這些服務:客戶機須要服務時,對應的系統對象就會相應,當客戶機須要與數據鏈接時,鏈接系統對象就會創建和提供這種鏈接。繼承

值類型:簡單數據類型(如integerchar等)不管是做爲參數仍是做爲變量,都是按值傳遞和使用。

引用類型,它存儲的是間接數據,即對該類型的引用,如class

前者傳遞的是值的副本,後者則是引用的副本。

對象引用和類引用:

對象是類的動態實例,對象老是被動態分配的到堆上。即對一個對象的引用如同一個句柄或指針。

類引用類型 :類的類,或稱爲元類,構造形式 爲 class of typetype可爲任何類型。類引用類型聲明不能直接用於變量或參數聲明中那個。能夠把nil賦值給任何類引用變量。經常用於建立一個對象 或者用來測試一個對象引用類型。

對象的克隆:TPersistent 類系下的對象都是能夠提供克隆行爲的。TPersistent是抽象類,沒有實例對象,但其提供了一個接口,引入對象的可賦值性。

對象的賦值:使用:=將一個對象的引用賦值給另外一個對象的變量;或使用assignassign to 將對象屬性複製,獲得兩個狀態同樣的對象。如要克隆,須要第二種操做。

對象的生命週期:建立,運行,銷燬。對象生成的方式 獲取類實體的大小,分配空間,初始化,調用構造函數。

Delphi 控制對象生成 過程的主要方法是TObject.InstanceSize, TObject.NewInstance,TObject.InitInstance.

二者方法肯定目標對象來自哪裏:完成初始化工做的源對象;以參數形式接收對象的傳遞。存在方式:存儲在變量中,存儲在類成員中。

對象的關係

面向對象的分析和設計:如何識別和抽象對象,如何規定對象的粒度和邊界,如何創建對象的交互機制。

一個對象對另外一個對象能夠作三件事:發送消息給另外一個對象;從另外一個對象中獲取消息;將對象傳遞給一些其餘對象。

發送消息和調用方法是等價有效的概念。這意味着對象之間的交互做用有四種:數據的發送,數據的接收,出發做用,消息傳遞給其餘對象。

對象的繼承是一種在保持對象的差別的同時共享對象類似性的複用。

對象的合成是一種直觀複用對象的方法,即新的對象是由已有的對象組合而成。其分爲聚合關係和組合關係。聚合是描述總體/部分的關聯和連接。聚合關係體現‘具備’關係。聚合關係是能夠傳遞的。組合則是具備強全部權和一致生存時間約束的聚合,稱爲組合聚合,體現爲‘包含’關係。組合關係指定組合體或聚合體擁有他們的組成部分,組成部分只能有一個屬主。

依賴關係:表示一個對象須要使用另外一個對象,它依賴另外一個對象的定義,被依賴的對象是爲依賴對象存活的。

合做關係:一個對象的存活不依賴另外一個對象,兩個對象之間存在平等的合做關係。

依賴和合做關係中的對象是以局部變量和方法參數的形式存在的,而組合關係和聚合關係中的變量是以數據成員或屬性的形式存在的。

相關文章
相關標籤/搜索