but I learn programming and after structured programming with Pascal language, I\'m beginning to learn about OOP with Delphi.
So, I don\'t really understand the diff
One case is missing in the other answers: private and even strict private fields of other instances can be accessed from code within their class:
type
TSO1516493= class
strict private
A: Integer;
public
procedure ChangeOther(Param: TSO1516493);
end;
{ TSO1516493 }
procedure TSO1516493.ChangeOther(Param: TSO1516493);
begin
Param.A := -1; // accessing a strict private variable in other instance !
end;
(This is the same behavior as in Java.)