熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

Delphi面向對象的編程方法(一)

2013-11-11 21:07:07  來源: Delphi編程 

  Delphi的編程語言是以Pascal為基礎的Pascal語言具有可讀性好編寫容易的特點這使得它很適合作為基礎的開發語言同時使用編譯器創建的應用程序只生成單個可執行文件(EXE)正是這種結合使得Pascal成為Delphi這種先進開發環境的編程語言

    本章中我們將討論Object Pascal的主要特點並講解如何在事件處理過程和其他應用程序中使用它來編制程序代碼本章將講解Delphi應用程序中最常用的Object Pascal語法而不是Pascal語言的一切細節如果您完全不熟悉Pascal編程請參閱一些基礎的Pascal教程如果您具有編程經驗並能熟練地使用其他流行程序語言您將在本章的Object Pascal中發現一些相同的概念如果您已經熟悉了Borland Pascal就可以快速浏覽或跳過本章 

  編寫Object Pascal程序代碼 

  在本章中我們將從熟悉Pascal編程的角度配合實例講解Object Pascal編程的基本方法

  在編寫自己的Object Pascal程序時要注意程序的可讀性Pascal語言是英式結構語言在程序中選擇合適的縮排大小寫風格並在需要時將程序代碼分行會使得程序代碼能夠很容易地被自己和他人讀懂一般的程序員都有這樣的體驗如果不給程序加上適當的注解一段時間後自己也難以理清程序的流程給程序及時地加上注釋是良好的編程習慣Delphi的注釋需要加注在{}之間編輯器會把它們處理成為空白Delphi保留了Borland Pascal編輯器的風格關鍵字采用黑體字被注釋的部分會變暗這使得編程風格良好易讀易寫 

  編寫賦值語句 

        在事件處理過程中最常用到的工作就是把一個新值賦給一個屬性或變量在設計用戶界面時可以使用Object Inspector(Object Inspector)來改變其屬性但有時需要在程序執行時改變屬性的值而且有些屬性只能在執行時改變這些屬性在Delphi的在線幫助的Proprety主題中被標為執行期屬性進行這種改變就必須使用賦值語句

       下文的賦值語句表征一個OnClick事件當按鈕按動後將編輯框部件Edit的Color屬性置為clRed:

  procedure TFormButtonClick(Sender: TObject);
  begin
  EditColor := clRed;
  end; 

        當按動按鈕後賦值語句被執行編輯框變成紅色

        在語句中部件的名稱在屬性前中間用表示屬性的所屬關系這樣就准確地指定了要將clRed值賦給哪一部件的哪一屬性賦值號為:=不論給屬性還是給變量賦值都是將右邊的值賦給左邊的屬性或變量

  當將一個屬性值變量常量或文本數據賦給屬性或變量時所賦值的類型和接受此值的屬性或變量的類型應相同或兼容一個屬性或變量的類型定義了此屬性或變量的可能值集合也定義了程序代碼可以執行的運算在前邊的例程中編輯框部件的Color屬性和clRed的類型都是TColor可以在在線幫助中找到一個屬性的類型另外一種方法是在Object Inspector中選定該屬性值段並按下F則類型將在屬性說明的結尾處列出例如Color屬性列出下邊的語句 

  Property Color : TColor; 

  有些屬性是只讀(Read Only)的它們只能被讀取不能被改變請查閱在線幫助在Delphi中這些只讀屬性都有注解 

  標識符的說明與使用 

  標識符是Delphi應用程序中一些量的名稱這些量包括變量(var)常量(const)類型(type)過程(procedure)方法(Method)及其他Object Pascal 在應用標識符時必須首先說明它們Object Pascal是強類型語言它的編譯器可以檢查確保賦給變量或屬性的值是正確的類型以便於您改正錯誤因為Object Pascal是編譯語言所以Delphi的執行速度要比使用解釋語言快得多在使用標識符前說明它們可以減少程序錯誤並增加代碼的效率 

  變量

  變量是程序代碼中代表一個內存地址的標識符而此地址的內存內容在程序代碼執行時可以被改變在使用變量前必須對它進行說明即對它進行命名並說明它的類型在所有變量說明以前加上保留字var變量說明左邊是變量的名稱右邊則是該變量的類型中間用(:)隔開 

  var
  Value Sum : Integer;
  Line : String; 

  在窗體中加入一個名稱為Edit的編輯框再加入一個名稱(屬性Name)為Add的按鈕部件並建立如下的事件處理過程

  procedure TFormaddClick(Sender: TObject);
  var
  X Y: Integer;
  begin
  X := ;
  Y := ;
  EditText := IntToStr(X + Y);
  end; 

  在本例中當按動ADD按鈕時編輯框中顯示值在Object Pascal中必須確保變量或屬性被賦予類型相同或兼容的值您可以嘗試將賦給X的值改為或去掉IntToStr函數在編譯時會出現類型不匹配的錯誤這也說明了Object Pascal強類型語言的特點
Object Pascal有多個預定義的數據類型您可以說明任何這些類型的變量

  整形Integer的范圍是字節的內存Shortint從字節內存Longint從字節內存Byte從字節Word從字節內存它們都是沒有小數部分的數字

  實型Single可以包含位有效小數部分占用字節的內存Double類可以包含位有效小數部分占用字節的內存Extended類型包含位有效小數部分占用字節內存Comp可以包含位有效小數部分占用字節內存以上實數類型只有在/選項[N+]打開才可以使用Real可以包含位有效小數部分占用字節內存它只有在和以前Borland Pascal兼容的情況下才使用否則應使用Double或Extended

  布爾型Boolean只包含true或False兩個值占用字節內存

       字符型Char一個ASCII字符字符串類型String一串最長可達個ASCII字符

  指針型Pointer可以指向任何特定類型

       字符串型PChar是一個指向以零結尾的字符串的指針

  除了預定義類型外Delphi還有自行定義的類型上述例程的TColor就是這種類型此外用戶還可以定義自己的數據類型這部分內容將在下文中詳細講述

  整型類別和實型類別都各有五種類型同一類別中所有的類型與其他同類別的都相容您可以將一種類型的值賦給相同類別中不同類型的變量或屬性而只需要這個值的范圍在被賦值的變量或屬性的可能值范圍內例如對於一個Shortint型的變量可以接受在范圍內的任意整數例如Shortint類型的您不能將賦給它因為已經超出了Shortint的范圍了將范圍檢查功能打開(選用Options|Project並在Compiler Options Page中選擇Range Checking)將會檢查出一個范圍錯誤如果Range Checking沒有被打開那麼程序代碼將可以執行但被賦值的值將不是您期望的值

  在一些情況下您可以進行不同類型的變量或屬性的賦值一般來說可以將一個較小范圍的值賦給一個較大范圍的值例如您可以將整型值賦給一個接受實型值的Double屬性而使得值成為但如果將一個Double類型的值賦給整形變量則會出現類型錯誤如果您不清楚類型的兼容性可以參閱Delphi的在線幫助中Type Compatibility and Assignment Compatibility主題 

  常量 

       常量在說明時就被賦予了一個值在程序執行過程中是不可改變的下面的例子說明了三個常量 

  const
  Pi = ;
  Answer = ;
  ProductName = Delphi; 

  象變量一樣常量也有類型不同的是常量假設其類型就是常量說明中其所代表的值的類型上文的三個常量的類型分別是real型整形字符串型常量用= 表示兩邊的值是相等的 

  過程與函數 

  過程與函數是程序中執行特定工作的模塊化部分Delphi的運行庫包含許多過程與函數以供您的應用程序調用您不必了解過程與函數的邏輯但要知道過程與函數的用途在對象中說明的過程和函數稱為方法(Method)所有的事件處理過程都是過程以保留字procedure開頭每一個事件處理過程只包含了當這一事件發生時需要執行的程序代碼在事件處理過程中使用Delphi =宋體 lang=ZHCN>已經存在的過程與函數只需在程序代碼中調用它們即可 


From:http://tw.wingwit.com/Article/program/Delphi/201311/8549.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.