1 thing more to add... Other way of getting functionality same as class constants is public/private functions. Possibly also virtual or overriden from subclasses.

[pascal]type
TMyClass = class
public
A: string;
constructor Create;
function B: string;
end;

implementation

constructor TMyClass.Create;
begin
inherited Create;
A := 'A';
end;

function TMyClass.B: string;
begin
result := 'B';
end;[/pascal]