Anim.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:1k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit Anim;
  2. interface
  3. type
  4.   TAnimal = class
  5.   public
  6.     constructor Create;
  7.     function GetKind: string;
  8.     function Voice: string; virtual; abstract;
  9.   private
  10.     Kind: string;
  11.   end;
  12.   TDog = class (TAnimal)
  13.   public
  14.     constructor Create;
  15.     function Voice: string; override;
  16.     function Eat: string; virtual;
  17.   end;
  18.   TCat = class (TAnimal)
  19.   public
  20.     constructor Create;
  21.     function Voice: string; override;
  22.     function Eat: string; virtual;
  23.   end;
  24. implementation
  25. uses
  26.   MMSystem;
  27. constructor TAnimal.Create;
  28. begin
  29.   Kind := 'An animal';
  30. end;
  31. function TAnimal.GetKind: string;
  32. begin
  33.   GetKind := Kind;
  34. end;
  35. constructor TDog.Create;
  36. begin
  37.   Kind := 'A dog';
  38. end;
  39. function TDog.Voice: string;
  40. begin
  41.   Voice := 'Arf Arf';
  42.   PlaySound ('dog.wav', 0, snd_Async);
  43. end;
  44. function TDog.Eat: string;
  45. begin
  46.   Eat := 'A bone, please!';
  47. end;
  48. constructor TCat.Create;
  49. begin
  50.   Kind := 'A cat';
  51. end;
  52. function TCat.Voice: string;
  53. begin
  54.   Voice := 'Mieow';
  55.   PlaySound ('cat.wav', 0, snd_Async);
  56. end;
  57. function TCat.Eat: string;
  58. begin
  59.   Eat := 'A mouse, please!';
  60. end;
  61. end.