大體的三種解釋是這樣的
全局變量:是指在類外聲明的變量,通常這種變量時在整個工程內有效的,也就是說在整個工程中的類都可以使用。該變量的生存周期是在工程創建時有效,工程銷毀時銷毀。
類變量:是指在類中聲明的變量,這種變量在類中的方法都可以使用。其生命周期是在類創建時有效,類銷毀時銷毀。
局部變量:是指在方法內部聲明的變量,這種變量只能在方法內部使用。其生命周期也是在方法內部有效,當方法調用結束后,其內部所聲明的變量也隨之銷毀
全局變量放在public底下。類似於vb中類模塊中的public a as string 全局變量
類變量private底下.我個人理解為何vb差不多。是在類模塊中的全局變量。窗體不可使用。
局部變量就很好理解。窗體中的局部變量 事件中的局部變量
不知道是不是這樣的意思。如果不是以后學習中再改進
'=======================================我是分割線====
全局變量:
如果我們在應用程序一個單元中的interface關鍵字和implementation關鍵字之間的區域,定義一個全局變量,假如這個單元在別的地方被引用,那么這個單元的全
局變量能夠在別的地方被訪問到,當然我們也可以在應用程序一個單元中的implementation關鍵字的后面定義全局變量,不過此時在這里定義的全局變量只能在本
單元中被訪問到,也就是說它是這個單元私有的,在別的單元中將不能被訪問到。全局變量在應用程序的數據區分配內存,它存在於可執行模塊(EXE或DLL等)的
文件影像內部,在程序編譯期就被決定,直到應用程序結束,全局變量所占用的內存地址是固定不變的。全局的非指針類型,聲明后自動分配內存,並初始化值。
全局的指針類型,聲明后不自動分配內存,值為nil。
局部變量:
我們可以在函數或方法(包含過程)中定義局部變量,局部變量在應用程序的棧上進行分配,並且總是在棧上分配!局部變量的內存是在函數或方法(包含過程)
被調用時分配,在函數或方法(包含過程)調用結束時其內存被釋放。由於函數或方法(包含過程)在每次被調用時,棧頂可能發生變化,因此局部變量的內存地
址是變化的,局部的非指針類型,聲明后自動分配內存,不初始化值,值不確定(取決與別的程序對這塊內存的操作)。局部的指針類型,聲明后不自動分配內存,
但會隨機指向一個地址,所以地址不為nil
變量申明
var
變量
AA:string; //1
A,B,C:string; //2
AA:string,BB:string;A,B,C:string; //3
const
常量
AA=111; //1
BB=222; //2
AA:string='xxx'; //2
'=========
另外注意 只有全局變量才能賦初始值
如:錯誤的 以下在事件中的賦值是錯誤的。
procedure TForm1.Button1Click(Sender: TObject);
var
a:string = 'DD';
begin
end;
end.