type
   THelloWorld = class
      procedure Put;  // you can also implement out of line
      begin
         PrintLn('Hello, World!');
      end
   end;

var HelloWorld := new THelloWorld; // strong typing, inferred

HelloWorld.Put;

// no need to release objects thanks to automatic memory management
