⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ufrmsayhello.pas

📁 Delphi面向对象编程思想附书源码 好用哦!
💻 PAS
字号:
unit ufrmSayHello;

interface

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

type
  TfrmSayHello = class(TForm)
    GroupBox1: TGroupBox;
    edtName: TLabeledEdit;
    edtSkinColor: TLabeledEdit;
    edtLanguage: TLabeledEdit;
    btnUSA: TButton;
    btnKorean: TButton;
    btnCN: TButton;
    btnFrench: TButton;
    Image1: TImage;
    procedure btnUSAClick(Sender: TObject);
    procedure btnCNClick(Sender: TObject);
    procedure btnFrenchClick(Sender: TObject);
    procedure btnKoreanClick(Sender: TObject);

  private
    procedure sayhello(AMan:TMan;G:IGreetable);
  public
    { Public declarations }
  end;

var
  frmSayHello: TfrmSayHello;

implementation



{$R *.dfm}

procedure TfrmSayHello.sayhello(AMan:TMan;G:IGreetable);
begin
  //类实现的多态
  edtName.Text:=AMan.Name;
  edtLanguage.Text:=AMan.Language;
  edtSkinColor.Text:=AMan.SkinColor;
  //接口实现的多态
  image1.Picture.LoadFromFile(G.sayHello);
end;

procedure TfrmSayHello.btnUSAClick(Sender: TObject);
var G:IGreetable;AMan:TMan;
begin
  AMan:=TAmerican.create;
  G:=TAmerican.create;
  sayhello(AMan,G);
end;

procedure TfrmSayHello.btnCNClick(Sender: TObject);
begin
  sayhello(TChinese.create,TChinese.create);
end;

procedure TfrmSayHello.btnFrenchClick(Sender: TObject);
begin
  sayhello(TFrench.create,TFrench.create);
end;

procedure TfrmSayHello.btnKoreanClick(Sender: TObject);
begin
  sayhello(TKorean.create,TKorean.create);
end;


end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -