首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi 類別方法入門:從一般函式到類別方法的封裝與呼叫完整指南

     編輯:Delphi

類別三大核心:屬性、方法、事件

方法是類別的行為單元。在 Delphi 中:

  • 函式:有回傳值 → 類別中稱 Function 方法
  • 程序:無回傳值 → 類別中稱 Procedure 方法

基本定義與實作分離

類別定義於 interface 區的 type 區塊,方法實作於 implementation 區。


type
  TMyClass = class
    procedure MyProc(var X: Integer); // 程序方法
    function MyFun(var X: Integer): Integer; // 函式方法
  end;

// 實作區
function TMyClass.MyFun(var X: Integer): Integer;
begin
  X := X * 2;
  Result := X;
end;

procedure TMyClass.MyProc(var X: Integer);
begin
  X := X * 2;
end;

物件生命週期:建立、呼叫、釋放


var
  MyClass: TMyClass;
  I: Integer;
begin
  MyClass := TMyClass.Create; // 1. 建立實例
  try
    I := 6;
    MyClass.MyProc(I); // 呼叫程序方法
    ShowMessage(IntToStr(I)); // 12

    I := 6;
    I := MyClass.MyFun(I); // 呼叫函式方法
    ShowMessage(IntToStr(I)); // 12
  finally
    MyClass.Free; // 2. 釋放實例
  end;
end;

最佳實踐:使用 try...finally 確保釋放,防止記憶體洩漏。

類別定義位置影響可見範圍

  • interface 區定義:整個專案可見(需 uses 引用)。
  • implementation 區定義:僅限該單元內部使用。

方法進階特性

特性關鍵字說明
虛擬方法virtual允許子類別覆寫,支援多態
覆寫override子類別重新實作父類別虛擬方法
動態方法dynamic節省 VMT 空間,呼叫稍慢
訊息方法message處理 Windows 訊息
類別方法class procedure/function無需實例即可呼叫(Delphi 2007+)
靜態方法static不帶 Self,類似全域函式(Delphi 2006+)

總結

方法是類別行為的封裝。掌握「定義於介面區、實作於實作區、建立呼叫釋放三部曲」,並善用 try...finally 管理生命週期,是 Delphi 物件導向程式設計的基本功。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved