射手的博客
学习Delphi,需要一个记录学习的博客,

1.通过覆盖方法.子类可以改变接口方法的实现方式.这要求在父类中的实现方法是虚拟的或者是动态的.(Virtual and Override);
type 
  IWindow 
= interface           // 接口
    [
'{56CBEC3D-E0B9-4BC1-BF7B-888C794F3E3D}']
    procedure Draw;
  end;
  TWindow 
= class(TInterfacedObject, IWindow)   // Twindow 实现  IWindow  中的方法,并设为虚方法
    procedure Draw;virtual;
  end;
  TFrameWindow 
= class(TWindow)    //  继承 TWindow 并使用覆盖方法
    procedure Draw;override;
  end;
2.一个类也可以重新(完整地)实现它从祖先类继承下来的接口,这要求它在声明时重新列出这个接口。

type 
  IWindow 
= interface 
    [
'{00000115-0000-0000-C000-000000000146}'
    procedure Draw; 

  end; 
  TWindow 
= class(TInterfacedObject, IWindow)   // Twindow实现 IWindow 
    procedure Draw; 
  end; 
  TFrameWindow 
= class(TWindow, IWindow)    //  TframeWindow 重新实现IWindow 
    procedure Draw;        // 这是静态方法,隐藏了父类的方法 
  end; 
posted on 2009-04-13 11:18 Archer 阅读(87) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。