zoukankan      html  css  js  c++  java
  • 深入方法(26)- 回调函数

    //把一个方法当作另一个方法的参数, 就是回调方法, 大家习惯称作回调函数
    
    type
      TFunType = function(i: Integer): Integer; {声明一个方法类型}
    
    function MyFun(i: Integer): Integer;        {建立类型兼容的函数}
    begin
      Result := i*2;
    end;
    
    {把函数当作参数, 再定义一个函数}
    function MyTest(x: Integer; F: TFunType): Integer;
    begin
      Result := F(x);
    end;
    
    
    {测试}
    procedure TForm1.Button1Click(Sender: TObject);
    var
      Fun: TFunType; {声明一个 TFunType 的变量}
      i: Integer;
    begin
      Fun := MyFun;  {让方法变量 Fun 指向和它类型兼容的一个方法}
    
      {测试 Fun; Fun 是一个方法变量, 现在去执行那个方法, 它就可以当作那个方法来使用了}
      i := Fun(4);
      ShowMessage(IntToStr(i));  //8
    
      {把 Fun 当作参数使用; 把函数当作参数使用, 这就是回调函数}
      i := MyTest(4,Fun);
      ShowMessage(IntToStr(i));  //8
    end;
  • 相关阅读:
    unordered_set
    树的所有实现
    各类算法模板
    单链表全部实现(绝对史上最完整 附例题)
    求最长回文子串
    无重复的最长子串
    秋叶集
    1451. 重新排列句子中的单词
    152. 乘积最大子数组
    JVM总结的部分内容
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12729744.html
Copyright © 2011-2022 走看看