您的位置:首页 > 编程语言 > Delphi

理解 Delphi 的类与接口(二) - 初识类的方法

2020-02-14 01:23 363 查看
说到"类", 就会提到:

属性方法事件 (这是类包含的内容);

封装继承多态 (这是类的主要用途).

下面定义并调用了了一个过程 MyProc、一个函数 MyFun.
 Unit1;


interface


uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type

TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;

var

Form1: TForm1;


implementation



{$R *.dfm}



//这是一个过程, 过程没有返回值
procedure
MyProc(var x: Integer);
begin

x := x * 2;
end
;

//这是一个函数, 函数必须有返回值
function
MyFun(var x: Integer): Integer;
begin

x := x * 2;
Result := x;
end
;


//调用过程与函数
procedure
TForm1.Button1Click(Sender: TObject);
var

i: Integer;
begin

i := 6;
MyProc(i); {使用过程}
ShowMessage(IntToStr(i)); {12}

i := 6;
i := MyFun(i); {使用函数}
ShowMessage(IntToStr(i)); {12}
end
;

end
.

 


把过程与函数 MyProc、MyFun 包含在一个类里面.

 

 Unit1;



Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

TForm1 = (TForm)
Button1: TButton;
Button1Click(Sender: TObject);
;
Form1: TForm1;




TMyClass =
MyProc( x: Integer);
MyFun ( x: Integer): Integer;
;
TMyClassMyFun( x: Integer): Integer;
x := x * ;
Result := x; ;
TMyClassMyProc( x: Integer);
x := x * ; ;


TForm1Button1Click(Sender: TObject);
i: Integer;
myClass: TMyClass;
myClass := TMyClassCreate;

i := ;
myClassMyProc(i);
ShowMessage(IntToStr(i));

i := ;
i := myClassMyFun(i);
ShowMessage(IntToStr(i));

myClassFree; ;
.


一般情况下, 类都会定义在 interface 区; 在 implementation 区定义的类只能本单元使用.
unit






Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

TForm1 = (TForm)
Button1: TButton;
Button1Click(Sender: TObject);
;


TMyClass =
MyProc( x: Integer);
MyFun ( x: Integer): Integer;
;


Form1: TForm1;




TMyClassMyFun( x: Integer): Integer;
  x := x * ;
  Result := x; ;
TMyClassMyProc( x: Integer);
x := x * ;
;

TForm1Button1Click(Sender: TObject);
  i: Integer;
  myClass: TMyClass;
 myClass := TMyClassCreate;  i := ;
   myClassMyProc(i);
  ShowMessage(IntToStr(i));  

  i := ; 
  i := myClassMyFun(i);  
  ShowMessage(IntToStr(i));

  myClassFree; ;
.
  • 点赞
  • 收藏
  • 分享
  • 文章举报
topcrm 发布了2 篇原创文章 · 获赞 0 · 访问量 936 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: