程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 第二章-Delphi面向對象的編程方法(四)(1)

第二章-Delphi面向對象的編程方法(四)(1)

編輯:Delphi

2.1.10.7 將庫單元加入工程 

將庫單元加入工程是比較簡單的。無論是您自己建立的庫單元還是Delphi建立的與窗體有關的庫單元,如果已經完成,則先打開您想加入庫單元的工程(可以用Open Project打開工程);再選用File|Open File,然後選擇您想加入的源程序(.PAS文件),並選擇OK即可。則庫單元被加入到應用程序中。 

2.2 用Delphi的對象進行編程 

Delphi是基於面向對象編程的先進開發環境。面向對象的程序設計(OOP)是結構化語言的自然延伸。OOP的先進編程方法,會產生一個清晰而又容易擴展及維護的程序。一旦您為您的程序建立了一個對象,您和其他的程序員可以在其他的程序中使用這個對象,完全不必重新編制繁復的代碼。對象的重復使用可以大大地節省開發時間,切實地提高您和其他人的工作效率。 

2.2.1 什麼是對象 

一個對象是一個數據類型。對象就象記錄一樣,是一種數據結構。按最簡單的理解,我們可以將對象理解成一個記錄。但實際上,對象是一種定義不確切的術語,它常用來定義抽象的事務,是構成應用程序的項目,其內涵遠比記錄要豐富。在本書中,對象可被理解為可視化部件如按鈕、標簽、表等。

了解對象,最關鍵的是掌握對象的特性。一個對象,其最突出的特征有三個:封裝性、繼承性、多態性。 

2.2.1.1 對象的封裝性 

對對象最基本的理解是把數據和代碼組合在同一個結構中,這就是對象的封裝特性。將對象的數據域封閉在對象的內部,使得外部程序必需而且只能使用正確的方法才能對要讀寫的數據域進行訪問。封裝性意味著數據和代碼一起出現在同一結構中,如果需要的話,可以在數據周圍砌上“圍牆”,只有用對象類的方法才能在“圍牆”上打開缺口。 

2.2.1.2 對象的繼承性 

繼承性的含義直接而且顯然。它是指把一個新的對象定義成為已存在對象的後代;新對象繼承了舊類的一切東西。在往新對象中添加任何新內容以前,父類的每一個字段和方法都已存在於子類中,父類是創建子類的基石。 

2.2.1.3 對象的多態性 

多態性是在對象體系中把設想和實現分開的手段。如果說繼承性是系統的布局手段,多態性就是其功能實現的方法。多態性意味著某種概括的動作可以由特定的方式來實現,這取決於執行該動作的對象。多態性允許以類似的方式處理類體系中類似的對象。根據特定的任務,一個應用程序被分解成許多對象,多態性把高級設計處理的設想如新對象的創建、對象在屏幕上的重顯、程序運行的其它抽象描述等,留給知道該如何完美的處理它們的對象去實現。 

2.2.1.4 通過Delphi實例了解對象 

讓我們結合Delphi的實例討論對象的概念:

當您要建立一個新工程時,Delphi 將顯示一個窗體作為設計的基礎。在程序編輯器中,Delphi將這個窗體說明為一個新的對象類型,並同時在與窗體相關聯的庫單元中生成了創建這個新窗體對象的程序代碼。 

unit Unit1; 

interface 

uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs; 

type

TForm1 = class(TForm) {窗體的類型說明開始}

private

{ Private declarations }

public

{ Public declarations }

end; {窗體的類型說明結束} 

var

Form1: TForm1; {說明一個窗體變量} 

implementation 

{$R *.DFM}  

end. 

新的窗體類型是TForm1,它是從TForm繼承下來的一個對象。它具有對象的特征:含有域或方法。由於您未給窗體加入任何部件,所以它只有從TForm類中繼承的域和方法,在窗體對象的類型說明中,您是看不到任何域、方法的說明的。Form1稱為TForm1類型的實例(instance)。您可以說明多個對象類型的實例,例如在多文檔界面(MDI)中管理多個子窗口時就要進行這樣的說明。每一個實例都有自己的說明,但所有的實例卻共用相同的代碼。

假設您向窗體中加入了一個按鈕部件,並對這個按鈕建立了一個OnClick事件處理過程。再查看Unit1的源程序,會發現TForm1的類型說明部分如下:

type

TForm1 = class(TForm)

Button1: TButton;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end; 

現在TForm1對象有了一個名為Button1的域:它是您在窗體中加入的按鈕。TButton是一個對象類型,Button1是Tbutton的一個實例。它被TForm1對象所包含,作為它的數據域。每當您在窗體中加入一個部件時,部件的名稱就會作為TFom1的域加入到類型說明中來。在Delphi中,您所編寫的事件處理過程都是窗體對象的方法。每當您建立一個事件處理過程,就會在窗體的對象類型中說明一個方法。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved