A.3. Encapsulation - JulTob/Ada GitHub Wiki

It happens in packages.

package Pck is
type T is tagged private;
procedure Method1 (V : T);
private -- c++'s protected
type T is tagged record
F1, F2 : Integer;
end record;
procedure Method2 (V : T);
end Pck;