Delphi中Interface接口的使用方法

本文介绍Delphi中接口的定义与实现方法,通过具体示例展示了如何使用接口实现多态,包括创建不同的接口实现类及在实际项目中的调用方式。
部署运行你感兴趣的模型镜像

 

unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type
   // 定义接口 如果接口独立成一个文件,则在应用程序中和实现程序中都要引用该接口文件;
    ICar = interface (IInterface)
        ['{ED52E264-6683-11D7-B847-001060806215}']
        procedure drive;
    end;
 
// 接口实现类 1 ,一定要加入 TinterfacedObject 才能使用;
    TCar = class(TInterfacedObject,ICar)
    public
        procedure drive;
    end;
// 接口实现类 2 ,一定要加入 TinterfacedObject 才能使用;
    THouseCar = class(TInterfacedObject,ICar)
    public
        procedure drive;
    end;
 
 TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
 private
    { Private declarations }
 public
    { Public declarations }
    function getCar:ICar; // 此处可用别的方式来实现获取 ICAR ,如放在 DLL 文件中;
 end;
 
var
 Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
{ TCar }
procedure TCar.drive;
begin
 ShowMessage('TCar.drive');
end ;
 
{ THouseCar }
procedure THouseCar.drive;
begin
   ShowMessage('THouseCar.drive');
end ;
 
procedure TForm1.Button1Click(Sender: TObject);
var
 s:ICar;
begin
 s:= getCar;
 s.drive;
end ;
 
function TForm1.getCar:ICar;
begin
   Result:=THouseCar.Create; // 此处为整个实现的关键点;
// Result:=TCar.Create;
end ;
 
end .

 

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值