zoukankan      html  css  js  c++  java
  • 接口委托实现--通过类的对象

    unit Interfacce; {接口委托实现--通过类的对象}
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
      IMyInterface = interface
        function Sell(const s: string): Boolean;
        function Buy(const s: string): Boolean;
      end;
    
      TMyClass = class(TInterfacedObject, IMyInterface)
      protected
        function Sell(const s: string): Boolean;
        function Buy(const s: string): Boolean;
      end;
    
      TMyClass2 = class(TInterfacedObject, IMyInterface)
      private
    //    FmyClass: TMyClass;
        function GetMyClass: TMyClass;  {采用这种方式可以进行一些过滤操作}
      public
        property myService: TMyClass read GetMyClass implements IMyInterface;
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
      myClass2: TMyClass2;
    begin
      try
        myClass2 := TMyClass2.Create;
        myClass2.myService.Sell('Book');
        myClass2.myService.Buy('Book')
      finally
        myClass2.Free;
      end;
    end;
    
    { TMyClass }
    
    function TMyClass.Buy(const s: string): Boolean;
    begin
      ShowMessage('Buy ' + s);
    end;
    
    function TMyClass.Sell(const s: string): Boolean;
    begin
      ShowMessage('Sell ' + s);
    end;
    
    { TMyClass2 }
    
    function TMyClass2.GetMyClass: TMyClass;
    begin
    //
    end;
    
    end.
    

      

  • 相关阅读:
    net core 3.1 发布问题
    KCF追踪方法流程原理
    2
    1
    0
    LK光流算法公式详解
    MySql单表最大8000W+ 之数据库遇瓶颈记
    Quartz.net基于数据库的任务调度管理(Only.Jobs)
    轻量级代码生成器-OnlyCoder 第二篇
    轻量级代码生成器-OnlyCoder 第一篇
  • 原文地址:https://www.cnblogs.com/devinblog/p/5201649.html
Copyright © 2011-2022 走看看