变量设置有何区别? |
答題得分者是:careychen
|
zhouying82
高階會員 ![]() ![]() ![]() ![]() 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
一个是在PRIVATE下面定义的变量,另外一个是在implementation下面设置的变量,用途是不是一样啊?
[code delphi] type TForm1 = class(TForm) private var a:integer public { Public declarations } end; var Form1: TForm1; implementation var a:integer; [/code] 请问下,上面的2个a是不是一样的啊?
------
断断续续的学了几年,还是一个初学者,永远支持Delphi ! 編輯記錄
taishyang 重新編輯於 2009-01-19 17:15:28, 註解 歸類成[問題]‧
|
careychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
不一樣,沒有一個地方是一樣,一樣的只有一個地方,他們都叫【變數 a】
===================引 用 zhouying82 文 章=================== 一个是在PRIVATE下面定义的变量,另外一个是在implementation下面设置的变量,用途是不是一样啊? [code delphi] type TForm1 = class(TForm) private var a:integer public { Public declarations } end; var Form1: TForm1; implementation var a:integer; [/code] 请问下,上面的2个a是不是一样的啊?
------
價值的展現,來自於你用哪一個角度來看待它!! |
zhouying82
高階會員 ![]() ![]() ![]() ![]() 發表:150 回覆:272 積分:189 註冊:2004-03-16 發送簡訊給我 |
|
careychen
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:41 回覆:580 積分:959 註冊:2004-03-03 發送簡訊給我 |
如果您的程式只寫【一個 Unit ,一個 Class】,那…基本上用法沒什麼
只是差別您是要呼叫的是 物件裡的 a 還是 【該 Unit 裡的 a 】 而已 但寫 【一個 Unit 、二個以上的 Class 時】,在 Implementaion 下的 a 可視為 二個 Class 互通的公用變數 但在 AClass 與 BClass Private 裡的變數是必須加上 Class 才能存取,這時候再講下去就是物件的設計概念了,例 [code delphi] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private a: Integer; public { Public declarations } end; TTest = class private a: Integer; end; var Form1: TForm1; implementation {$R *.dfm} var a: Integer; procedure CallImplementationA; begin a := 1000; ShowMessage('這是 implementation 下的 ' IntToStr(a)); end; procedure TForm1.FormCreate(Sender: TObject); var Test: TTest; begin Test := TTest.Create; Test.a := 100; ShowMessage('這是 TTest 裡的 ' IntToStr(Test.a)); FreeAndNil(Test); a := 50; ShowMessage('這是 Form1 裡的 ' IntToStr(Self.a)); ShowMessage('這是 Form1 裡的 ' IntToStr(a)); CallImplementationA; ShowMessage('這是 Form1 裡的 ' IntToStr(Self.a)); end; end. [/code] ===================引 用 zhouying82 文 章=================== 不是啊,在PRIVATE下面的不是就是说明在本类中的变量吗?implementation下面的不是也是一样的吗?楼上的可否告诉我有何区别啊?
------
價值的展現,來自於你用哪一個角度來看待它!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |