?? 訪問器的威力(屬性訪問器) (2001年5月26日).txt
字號:
訪問器的威力(屬性訪問器) (2001年5月26日)
本站更新 分類:控件使用 作者:Pieter Valentijn 推薦: 閱讀次數:180
(http://www.codesky.net)
--------------------------------------------------------------------------------
屬性訪問器非常強大。
它使你能完成儲如初始化對象或生成數據等要依靠對象的其它屬性的工作。
你能這樣來新建屬性:先在接口段中聲明它們然后按Ctrl+Shift+''c''。
這樣就會新建一個稱為Fsomeproperty的私有變量,和一個稱為SetSomeProperty的方法。
在本例中我創建了一個對象,它具有控制其它對象的屬性。通過此屬性的Read操作,我會檢查它是否為零,以便在運行時創建它。
你還可以用此屬性的Set訪問器來檢查數值是否超出邊界。
type
TMySubObject = Class
end;
TMyObject = Class
private
fMySubObject : TMySubObject
FASecondNum: Integer;
FAFirstnum: Integer;
function getMySubObject: TMySubObject;
function GetTotaalOfFirstAndSecondNum: integer;
procedure SetFirstnum(const Value: Integer);
public
Property MySubObject : TMySubObject Read getMySubObject
Property AFirstnum : Integer read FAFirstnum write SetFirstnum;
Property ASecondNum : Integer read FASecondNum write FAFirstnum;
Property TotaalOfFirstAndSecondNum : integer read
GetTotaalOfFirstAndSecondNum
end;
implementation
{$R *.DFM}
{ TMyObject }
function TMyObject.getMySubObject: TMySubObject;
begin
//我在此檢查它是否已賦值。
If not Assigned(fMySubObject) Then fMySubObject := TMySubObject.Create
Result := fMySubObject
end;
function TMyObject.GetTotaalOfFirstAndSecondNum: integer;
begin
Result := FAFirstnum + FASecondNum
end;
procedure TMyObject.SetFirstnum(const Value: Integer);
begin
//在此通過set可以檢查邊界。
If (Value > 0) and (Value < 1000) then
FAFirstnum := Value
Else Raise Exception.Create(''Number out of bounds'');
end;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -