class.pas 728 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. program ClassTest;
  2. type
  3. TBase = class(TObject)
  4. private
  5. FCount: Integer;
  6. public
  7. constructor Create;
  8. destructor Destroy; override;
  9. procedure SetCount(V: Integer);
  10. function GetCount: Integer;
  11. property Count: Integer read GetCount write SetCount default 0;
  12. end;
  13. THelper = class helper for TBase
  14. function Doubled: Integer;
  15. end;
  16. constructor TBase.Create;
  17. begin
  18. FCount := 0;
  19. end;
  20. destructor TBase.Destroy;
  21. begin
  22. inherited;
  23. end;
  24. procedure TBase.SetCount(V: Integer);
  25. begin
  26. FCount := V;
  27. end;
  28. function TBase.GetCount: Integer;
  29. begin
  30. GetCount := FCount;
  31. end;
  32. function THelper.Doubled: Integer;
  33. begin
  34. Doubled := Count * 2;
  35. end;
  36. var B: TBase;
  37. begin
  38. B := TBase.Create;
  39. B.Count := 5;
  40. end.