1.類的方法引數可以分為四種(預設引數(傳值)、var(傳址)、out(輸出)、const(常數))。這裡需要注意的是var定義的引數,例如:
function myf2(var x: integer): integer;
begin
inc(x);
result := x;
end;
對於out(輸出),其用法和var一致,所以在一般情況下我們採用var來定義而不是out;對於const,則表示該定義的變數為常量,常量的值無法改變。
2.implementation區/inte***ce區的方法
對於implementation區中的方法,只能在本單元中呼叫。這裡就不舉例子了,在之前的舉例中都有涉及。
對於inte***ce區中的方法,可以被其它單元呼叫。
3.在類中的方法
如果乙個方法被宣告在乙個類中,那麼呼叫該方法前就必須先對該類進行初始化。這與其他語言對於類中方法的呼叫是一致的;並且在實現該方法時,必須在方法名前加上類的字首,例如:
function tform1.myfun(x,y: integer): integer;
begin
result := x + y;
end;
4.呼叫其他單元的函式
在呼叫其他單元的函式時,被呼叫單元的函式必須在inte***ce區中宣告,並在implementation區中也實現。在呼叫時,我們需要對其單元進行引用,例如:
implementation
uses unit2;
procedure tform1.button1click(sender: tobject);
var i: integer;
begin
i := myfun(1,2);
//i := unit2.myfun(1,2);
showmessage(inttostr(i));
end;
5.方法的提前宣告
如果前面的方法需要呼叫後面的方法,則需要在被呼叫的方法中宣告forward指示字。例如:
function myfunb(x: integer): integer; forward;
function myfuna(x: integer): integer;
begin
result := myfunb(x) * 3;
end;
function myfunb(x: integer): integer;
begin
result := abs(x);
end;
但如果該方法已在inte***ce區中提前宣告了,那麼就無需在對方法新增forward指示字了。
6.靜態陣列做引數
對於靜態陣列做引數,我們需要在type區把陣列定義成乙個型別,在對該型別定義乙個變數,最後在使用該變數。例如:
//應該先把陣列定義成乙個型別
type
intarray = array[0..9] of integer;
//給乙個靜態陣列求和的函式
function myfun(arr: intarray): integer;
var i: integer;
begin
result := 0;
for i:= 0 to length(arr)-1 do
begin
result := result + arr[i];
end;
end;
而對於開放陣列引數,則可以將其直接作為引數來使用,不需要在type區將其定義為乙個型別。例如:
function myfun(const arr: array of integer): integer;
對於遍歷開放陣列也需要注意,因不知其長度,所以在遍歷時需要用到low()和high()方法,例如:
for i := low(iarr) to high(iarr) do
begin
iarr[i] := i + 1;
end;
7.指標引數
在方法中傳遞指標,我們需要用指標型別來定義。具體實現如下:
function myfun(p: pinteger): integer;
begin
p^ := p^ * 2;
result := p^;
end;
var
i,x: integer;
begin
i := 8;
x := myfun(@i);
9.方法過載
方法的過載只要用在方法重名但引數不一樣的情況,在方法後面必須宣告overload指示字。在呼叫時根據引數來決定呼叫哪個方法。這與其他語言的過載相似。在published區中的方法命名要有唯一性,該區域方法不能被過載。
十一 類的靜態成員
成員變數的回顧 通過物件名能夠訪問public成員變數 每個物件都可以有屬於自己的成員變數 成員變數不能在物件之間共享 新的需求 統計類的程式執行期間有多少個物件同時存在 保證程式的安全性,並隨時可以獲取物件的數目 問題 使用普通的成員變數可行嗎?類的靜態成員 在c 中可以定義靜態成員變數和靜態成員...
C 複習之路十一 類的繼承
一 複習三種訪問控制符 public 修飾的成員變數或者方法,可以在類的外部或者類的內部使用 private 修飾的成員變數或者方法,只能在類的內部使用,外部不能使用 protected 修飾的成員變數或者方法,只能在類的內部或者子類內部使用,不能在類的外部使用 這三種訪問控制符可以修飾類的成員屬性...
C 學習筆記(一) 類
c 使用關鍵字 class 來定義類。其基本結構如下 class myclass 定義這樣乙個類後,就可以在能訪問該定義的工程的其他地方對該類進行例項化。預設情況下,類宣告為內部的,即只有當前工程中的 才能訪問它。可以用internal 訪問修飾符關鍵字顯式指定,但這不是必須的,類在定義時預設為此型...