對類物件的方法操作

fengzenghao發表於2020-10-31

斷斷續續學習delphi,對類的定義和物件的操作始終處於朦朦朧朧的一種狀態,今天搜尋看到用類寫的對物件的方法操作,我就編寫控制檯程式,使用沒有通過,後來想起物件就是指標,用@傳遞,編譯通過,這樣基本算是瞭解了類的定義。

program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes  ,windows,Dialogs,SysUtils
  { you can add units after this };
type
  Tbb=procedure of object ;//定義過程
type
  ta=class   //class a
   private
    s:string;
    gh:Tbb;
   public
   q:string;

   procedure myadd;
   procedure mj;
   procedure wl;
    property onchlick:Tbb read gh write gh ;
  end;

procedure ta.mj;

begin
     writeln('this is ta.mj');

 end;

procedure ta.myadd;

begin
   onchlick:=@mj;
writeln('this procedure ta.myadd');
end;


procedure ta.wl;
begin
         writeln('this is wl');
end;
function k(u:ta):string;
  var
    l:string;
  begin

          u.q:='alok';
            l:=u.q;
           result:=(u.q);
    end;

var
   p:ta;
  d:string;
        kl:tbb;
begin

          p:=ta.Create;

        p.myadd;
          p.onchlick;
   p.Free;
   readln;

end.
                                    

相關文章