首页 > 编程知识 正文

delphi7视频教程(delphi编程教程)

时间:2023-05-03 10:59:32 阅读:101256 作者:450

这两个概念其实并不新鲜。我们今天就把它们整理出来。

匿名函数

匿名函数是没有函数名的函数。个人对匿名函数的理解可以在一定程度上提高代码的可重用性。

的具体使用方式如下(DelphiXE10.x环境)

类型

{使用引用定义匿名方法类型}

TFun=对函数的引用(num : Integer): Integer;

//整个函数作为参数传递。

函数Demo1(Age:整数):整数;

开始

Writeln(年龄);

结果:=年龄;

结束;

//将函数作为对象传递。

函数Demo2(num1,num2: Integerfun: TFun):整数;

开始

结果:=fun(num 1 num 2);

结束;

定义变量

NumResult

开始

NumResult :=Demo2(10,20,

函数(num:整数):整数

开始

结果:=num

结束);

writeln(NumResult);

//第二条路

Writeln(Demo2(1,2,demo 1));

Readln

结束。

00-1010委托实际上只是一个函数指针类型。因为里面没有指针。NET中,有委托的概念。在Delphi和C中,实际上是函数指针类型。Delphi还可以支持成员函数指针类型。

下面的代码实现了接口的委托实现。如果你在玩一个功能,理论上是相通的,只需要换对应的类型。

类型

{吃饭界面}

IEat=接口

procedure HaiTing();

结束;

{狗需要实现接口并在其中重写抽象函数}

TDog=class(TInterfacedObject,IEat)

procedure HaiTing();

结束;

{猫本来应该在IEat接口实现抽象方法,但是它没有实现,而是委托给了狗}

TCat=class(TInterfacedObject,IEat)

私人的

FEat: IEat

公众的

{这句话是核心,即以这种方式展示的委托}

属性Eat: IEat读取FEat写入FEat实现IEat;

结束;

程序TDog。吃饭;

开始

Writeln('狗吃');

结束;

定义变量

Cat: TCat

开始

Cat :=TCat。create();

//必须在这里给Eat字段赋值,否则为空。

//同时可以理解为真正实现吃饭的小中心。

猫。Eat :=TDog。create();

猫。吃饭。

Readln

结束。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。