type
TMyClass = class(TObject)
private // self access only
FSomeVar: Integer;
public // access by anything
constructor Create; overload;
constructor Create(Args: array of Integer); overload;
destructor Destroy; override;
function GetSomeVar;
procedure SetSomeVar(newvalue: Integer);
published // special type of public scope
property SomeVar: Integer read GetSomeVar write SetSomeVar default 0;
end;