2.2.3.2 重載一個(gè)方法
您可以重載(Override)一個(gè)方法。通過(guò)在后代對(duì)象中說(shuō)明一個(gè)與祖先對(duì)象重名的方法,就可以重載一個(gè)方法。如果想使這個(gè)方法在后代對(duì)象中作和祖先對(duì)象中一樣的工作但是使用不同的方式時(shí),您就可以重載這個(gè)方法。Delphi不推薦您經(jīng)常重載方法,除非您想建立一個(gè)新的部件。重載一個(gè)方法,Delphi編譯器不會(huì)給出錯(cuò)誤或警告提示信息。
2.2.4 對(duì)象公有域和私有域的說(shuō)明
當(dāng)使用Delphi的環(huán)境來(lái)建立應(yīng)用程序時(shí),您可以在一個(gè)TForm的后代對(duì)象中加入數(shù)據(jù)域和方法,也可以通過(guò)直接修改對(duì)象類型說(shuō)明的方法來(lái)為一個(gè)對(duì)象加上域和方法,而不是把一個(gè)部件加入窗體或事件處理過(guò)程中。
您可以在對(duì)象的Public或Private部分加入新的數(shù)據(jù)域和方法。Public和Private是Object Pascal的保留字。當(dāng)您在工程中加入新的窗體時(shí),Delphi開(kāi)始建立這個(gè)新窗體對(duì)象。每一個(gè)新的對(duì)象都包含public和private指示,以便您在代碼中加入數(shù)據(jù)域和方法。在public部分中說(shuō)明其它庫(kù)單元中對(duì)象的方法也可以訪問(wèn)的數(shù)據(jù)域或方法。在private部分的說(shuō)明有訪問(wèn)的限制。如果您在private中說(shuō)明域和方法,那么它在說(shuō)明這個(gè)對(duì)象的庫(kù)單元外是不透明的,而且不能被訪問(wèn)。private中可以說(shuō)明只能被本庫(kù)單元方法訪問(wèn)的數(shù)據(jù)域和本庫(kù)單元對(duì)象訪問(wèn)的方法。過(guò)程或函數(shù)的程序代碼可以放在庫(kù)單元的implementation部分。
2.2.5 訪問(wèn)對(duì)象的域和方法
當(dāng)您想要改變一個(gè)窗體對(duì)象的一個(gè)域的某個(gè)屬性,或是調(diào)用它的一個(gè)方法時(shí),您必須在這個(gè)屬性名稱或調(diào)用方法之前加上這個(gè)對(duì)象的名稱。例如,如果您的窗體上有一個(gè)編輯框部件,而您需要在運(yùn)行中改變它的Text屬性,需要編寫下列的代碼:
Edit1.Text := 'Welcome to Delphi';
同樣,清除編輯框部件中選中的文本,可以調(diào)用TEdit部件的相應(yīng)方法:
Edit1.ClearSelection;
如果您想改變一個(gè)窗體對(duì)象中一個(gè)對(duì)象域的多個(gè)屬性或調(diào)用多個(gè)方法時(shí),使用with語(yǔ)句可以簡(jiǎn)化您的程序。with語(yǔ)句在對(duì)象中可以和在記錄中一樣方便地使用。下面的事件處理過(guò)程在響應(yīng)OnClick事件時(shí),會(huì)對(duì)一個(gè)列表框作多個(gè)調(diào)整:
procedure TForm1.Button1Click(Sender:TObject);
begin
ListBox1.Clear;
ListBox1.MultiSelect :=True;
ListBox1.Item.Add('One');
ListBox1.Item.Add('Two');
ListBox1.Item.Add('Three');
ListBox1.Sorted :=Ture;
ListBox1.FontStyle :=[fsBold];
ListBox1.Font.Color :=clPurple;
ListBox1.Font.Name :='Times New Roman';
ListBox1.ScaleBy(125,100);
end;
如果使用了With語(yǔ)句,則程序如下:
procedure TForm1.Button1Click(Sender:TObject);
begin
with (ListBox1) do
begin
Clear;
MultiSelect :=True;
Item.Add('One');
Item.Add('Two');
Item.Add('Three');
Sorted :=Ture;
FontStyle :=[fsBold];
Font.Color :=clPurple;
Font.Name :='Times New Roman';
ScaleBy(125,100);
end;
end;
使用with語(yǔ)句,您不必在每一個(gè)屬性或方法前加上ListBox1標(biāo)識(shí)符,在With語(yǔ)句之內(nèi),所有的屬性或調(diào)用方法對(duì)于ListBox這個(gè)對(duì)象而言都是在它的范圍內(nèi)的。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |