理解 Delphi 的類 二 初識類的方法

2021-05-27 06:03:45 字數 3368 閱讀 1989

說到"類", 就會提到: 

屬性方法事件(這是類包含的內容);

封裝繼承多型(這是類的主要用途).

下面定義並呼叫了了乙個過程 myproc、乙個函式 myfun.

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

tform1 = class(tform)

button1: tbutton;

procedure button1click(sender: tobject);

end;

varform1: tform1;

implementation

//這是乙個過程, 過程沒有返回值

procedure myproc(var x: integer);

begin

x := x * 2;

end;

//這是乙個函式, 函式必須有返回值

function myfun(var x: integer): integer;

begin

x := x * 2;

result := x;

end;

//呼叫過程與函式

procedure tform1.button1click(sender: tobject);

vari: integer;

begin

i := 6;

myproc(i);               

showmessage(inttostr(i));

i := 6;

i := myfun(i);           

showmessage(inttostr(i));

end;

end.

把過程與函式 myproc、myfun 包含在乙個類裡面.

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

tform1 = class(tform)

button1: tbutton;

procedure button1click(sender: tobject);

end;

varform1: tform1;

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;

//呼叫測試

procedure tform1.button1click(sender: tobject);

vari: integer;

myclass: tmyclass;         

begin

myclass := tmyclass.create;

i := 6;

myclass.myproc(i);         

showmessage(inttostr(i));  

i := 6;

i := myclass.myfun(i);     

showmessage(inttostr(i));  

myclass.free;              

end;

end.

一般情況下, 類都會定義在 inte***ce 區; 在 implementation 區定義的類只能本單元使用.

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, stdctrls;

type

tform1 = class(tform)

button1: tbutton;

procedure button1click(sender: tobject);

end;

tmyclass = class

procedure myproc(var x: integer);

function  myfun (var x: integer): integer;

end;

varform1: tform1;

implementation

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;

//呼叫測試

procedure tform1.button1click(sender: tobject);

vari: integer;

myclass: tmyclass;         

begin

myclass := tmyclass.create;

i := 6;

myclass.myproc(i);         

showmessage(inttostr(i));  

i := 6;

i := myclass.myfun(i);     

showmessage(inttostr(i));  

myclass.free;              

end;

end.

理解 Delphi 的類 五 認識類的繼承

類 乙個是 tform 類 乙個是 tform1 類 tform1 繼承於 tform.tform 是 tform1 的父類 tform1 是 tform 的子類.unit unit1 inte ce uses windows,messages,sysutils,variants,classes,g...

理解 Delphi 的類 六 認識類的封裝

這個類中的兩個字段沒有封裝 tmyclass1 class fname string fage integer end 這個類中的兩個字段封裝了,外部不能讀寫 tmyclass2 class private fname string fage integer public end 那怎麼讀寫?用屬性...

C 類的理解 一) 類的初識

一 類的意義,以及類與物件 類的內容比較多,但類是物件導向的基礎,所謂物件導向 object 其實就是一種更高層次的模組化,也稱為封裝。c語言中,稍微複雜點的資料結構都是用結構體來寫的,結構體本質上就是把一些相關的資訊打包儲存,比如貓 struct cat 這樣我們通過鍵盤輸入很多貓的資訊就可以用結...