文档章节

Delphi 的接口(4) - 接口的属性

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 195
阅读 5
收藏 0

码上生花,ECharts 作品展示赛正式启动!>>>


代码文件:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;

  {此接口声明了一个 Name 属性; 因为接口没有字段, read/write 都只能从方法}
  IMyInterface = interface
    function GetName : string;
    procedure SetName(val : string);
    property Name : string read GetName write SetName;
  end;

  {类实现的是接口的读写方法, 属性还是属于接口的; 类可以提供一个储存属性的字段}
  TMyClass = class(TInterfacedObject, IMyInterface)
  private
    FName: string;
  public
    function GetName: string;
    procedure SetName(val: string);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

{ TMyClass }

function TMyClass.GetName: string;
begin
  Result := FName;
end;

procedure TMyClass.SetName(val: string);
begin
  FName := val;
end;

{ TForm1 }

procedure TForm1.Button1Click(Sender: TObject);
var
  c: TMyClass;
  i: IMyInterface;
begin
  c := TMyClass.Create;
  i := c;
  i.Name := 'ABC';
  ShowMessage(i.Name); {ABC}

  //没有一个 c.Name 存在, 这个属性只属于接口
end;

end.

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/06/05/1496786.html

涂孟超
粉丝 13
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
加载中
请先登录后再评论。
Delphi调用 C# 写的webservice

Delphi调用 C# webservice总结 用delphi的THTTPRIO控件调用了c#写的webservice。 下面是我调试时遇到的一些问题: 1:导入wsdl文件:file--new----other----webservice---WSDLimporter---输入...

vga
2014/11/25
513
0
关于delphi Com+调用C# DLL的一点说明[转]

最近公司进行产品改造,由于存在部分代码是用delphi写的Com+需要调用C#写的Dll方法,经过网上一些搜索和摸索,调用已经OK。但是至于两者之间的事务问题还需要用到的朋友深入研究。 现在来说一...

老朱教授
2017/08/27
0
0
论DELPHI三层的数据序列格式的变化

论DELPHI三层的数据序列格式的变化 要窥三层的数据序列格式,我们可以通过观察DELPHI官方的客户端内存表。 早先流行的是TClientDataSet,它的Data和Delta属性的数据类型都是:OleVariant。 ...

osc_994n5tsc
2018/12/18
7
0
Delphi 调用C# 编写的DLL方法

近来,因工作需要,必须解决Delphi写的主程序调用C#写的dll的问题。在网上一番搜索,又经过种种试验,最终证明有以下两种方法可行: 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”...

osc_jbx0p2pm
2019/10/28
9
0
Delphi - Server Monitor开发并实现指定IP地址的定时检测和邮件提醒等功能

项目背景   近期,总经办邮件反馈考勤数据频繁丢失,请IT排查其根本原因,并提供整改措施。   措不及防,这个项目当初并不是IT主导的,是设备部采购,然后协同软件供应商直接安装、部署和...

osc_agn9pfb0
04/16
5
0

没有更多内容

加载失败,请刷新页面

加载更多

Beta冲刺--Day2

2020/05/29 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_taer599u
43分钟前
15
0
题解 [SDOI2010]猪国杀

题目链接 代码成功卡到600行以内 曾经发誓一天切掉的我打了两周。。。 先看题 要点还是挺多的,即使是像我这样熟悉三国杀的同(wán)学( jiā),也要认真看。 首先是基本牌的部分。 杀:在...

osc_4p2c0ecc
44分钟前
17
0
Beta冲刺--Day3

2020/05/30 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_sejhgcp0
46分钟前
23
0
vue3.0提前了解系列----一些普通用法和api的使用

今天给大家说说vue3.0 composition api里面一些剩余的普通api的使用 provide & inject provide和inject用于在一些高阶组件中常用,在2.x中也有一样的api那么在compositionapi中怎么用呢? 仅...

osc_kvcz9ju6
48分钟前
5
0
Beta冲刺--Day4

2020/05/31 这个作业属于哪个课程 2020春S班软件工程实践 这个作业要求在哪里 团队作业第六次——beta冲刺+事后诸葛亮 团队名称 云玩家$ 这个作业的目标 beta冲刺,测试和完善已有的项目 作业...

osc_ze3jj3wd
48分钟前
26
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部