
09.12.2009, 20:37
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Ну если строго следовать заданию, то:
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DateUtils, StdCtrls;
type
THuman = class
private
FLastName : String;
FYearOfBirth : Integer;
procedure SetYearOfBirth(Value : Integer);
public
constructor Create(ALastName : String; AYearOfBirth : Integer); virtual;
function GetAge : Integer;
property LastName : String read FLastName write FLastName;
property YearOfBirth : Integer read FYearOfBirth write SetYearOfBirth;
end;
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{ THuman }
constructor THuman.Create(ALastName: String; AYearOfBirth: Integer);
begin
FLastName := ALastName;
FYearOfBirth := AYearOfBirth;
end;
function THuman.GetAge: Integer;
begin
Result := Integer(YearOf(Date) - FYearOfBirth);
end;
procedure THuman.SetYearOfBirth(Value: Integer);
begin
If Value < 1900 Then Raise Exception.Create('Год меньше 1900');
FYearOfBirth := Value;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
H : THuman;
begin
H := THuman.Create('Иванов',1985);
ShowMessage(Format('Создан объект THuman:'#13#10'Фамилия: %s'#13#10'Год рождения: %d'#13#10'Возраст: %d',[H.LastName,H.YearOfBirth,H.GetAge]));
H.Free;
end;
end.
|