type
TMan = class
public
Name: string;
constructor Create(const AName: string);
end;
TEmployee = class(TMan)
public
Position: string;
//same signature: hides the parent
//constructor for TEmployee
constructor Create(const AName: string);
end;
constructor TMan.Create(const AName: string);
begin
Name := AName;
end;
constructor TEmployee.Create(
const AName: string);
begin
inherited Create(AName);
Position := 'unknown';
end;
var
Employee: TEmployee;
begin
Employee := TEmployee.Create('Max');
//employee.Position is 'unknown'
WriteLn('position is ', Employee.Position);
end.